sqlserver substring函数
函数subString有三个参数,帮助文档中给出这三个参数的意义,如下:
在试验中,本人发现第二个参数的解释中“如果此值为负数或 0,则只返回那些所在位置大于零的字符”有特殊的意义,也是一个陷阱:负数或0也将占去字符的位置。 举个例子: declare @str nvarchar(20) declare @subStr nvarchar(20) set @str='123456' set @subStr=subString(@str,1,5) print @subStr 结果: 如果第二个参数$startingLoc给负数或0时,负数或0也将占去字符的位置, 比如: set @subStr=subString(@str,5) @subStr值为'1234' 位置0上没有字符,却占去一位的长度 set @subStr=subString(@str,-1,5) @subStr值为'123' 位置-1和位置0上没有字符,却占去了两位的长度。 所以得出以下结论:使用函数subString时,第二个参数$startingLoc虽然可以给0或负数,但最好给实际的开始位置,避免造成不必要的麻烦。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |