SqlServersubstring(expression,start,length)函数
1 2 Syntax for SUBSTRING: SUBSTRING(expression, start, length) expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。 start 整数或可以隐式转换为int 的表达式,指定子字符串的开始位置。 length 整数或可
1
2
Syntax for SUBSTRING:
SUBSTRING(expression, start, length)
expression
字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。
start
整数或可以隐式转换为int 的表达式,,指定子字符串的开始位置。
length
整数或可以隐式转换为 int 的表达式,指定子字符串的长度。
例子:
1、起始位置为0,截取长度为3
?
1
select substring(DWMC,0,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'
结果:
2、起始位置为1,截取长度为3
?
1
select substring(DWMC,1,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'
结果:
3、起始位置为-1,截取长度为3
?
1
select substring(DWMC,-1,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'
结果:
4、起始位置为-2,截取长度为3
?
1
select substring(DWMC,-2,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'
结果:
5、起始位置为-9,截取长度为3
?
1
select substring(DWMC,-9,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'
结果:
通过上面的例子,可以看出substring的截取,类似于X坐标上截取绝对长度,而对于字符串而言,负数及零的位置都是空,真正有数的位置是从1开始的!