首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL SUBSTRING vs RIGHT -最佳实践

SQL SUBSTRING vs RIGHT -最佳实践
EN

Stack Overflow用户
提问于 2009-02-02 15:23:06
回答 4查看 26.6K关注 0票数 24

我正在尝试找出从字符串开头删除字符时的最佳实践。

在某些语言中,您可以使用不带长度参数的MID,但在TSQL中,长度是必需的。

考虑到下面的代码,最佳实践是什么?(十六进制字符串长度可变)

代码语言:javascript
复制
DECLARE @sHex VARCHAR(66)
SET @sHex = '0x7E260F3DA734AD4BD816B88F485CE501D843DF067C8EDCB8AC7DAD331852E04D'

PRINT RIGHT(@sHex,LEN(@sHex) -2)
PRINT SUBSTRING(@sHex,3,LEN(@sHex) -2)
PRINT SUBSTRING(@sHex,3,65535)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-02-02 15:24:56

好吧,第一个更能表达你的意图。最后一个显然是乱七八糟的(硬编码长度等)。我怀疑你会发现第一个和第二个之间有多大的性能差异,所以我会使用最简单的- RIGHT

当然,如果你做了很多这样的事情,你可以编写一个udf来封装它--如果你改变了主意,那么你只有一个地方可以改变……

票数 21
EN

Stack Overflow用户

发布于 2009-02-02 15:37:50

+1在右边的函数上,你想要做什么就更清楚了

票数 5
EN

Stack Overflow用户

发布于 2009-02-02 15:27:32

我会使用right函数,因为它能更好地显示您的意图。substring函数最适合用于从较长字符串的中间提取字符串。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/503573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档