sqlserver substring函数

原创 2012年03月27日 16:15:17
函数subString有三个参数,帮助文档中给出这三个参数的意义,如下:
  1. $sourceString 资源字符串。
  2. $startingLoc 子字符串在资源字符串中的起点。如果此值为负数或 0,则只返回那些所在位置大于零的字符。如果此值大于 $sourceString 的长度,则返回长度为零的字符串。
  3. $length [可选] 要检索的字符数。如果没有指定此值,它将返回$startingLoc 中指定的位置开始直到字符串末尾的所有字符。

在试验中,本人发现第二个参数的解释中“如果此值为负数或 0,则只返回那些所在位置大于零的字符”有特殊的意义,也是一个陷阱:负数或0也将占去字符的位置。

举个例子:

declare @str nvarchar(20)

declare @subStr nvarchar(20)

set @str='123456'

set @subStr=subString(@str,1,5)

print @subStr

结果: @subStr值为'12345'

如果第二个参数$startingLoc给负数或0时,负数或0也将占去字符的位置,

比如:

set @subStr=subString(@str,0,5)

@subStr值为'1234'

位置0上没有字符,却占去一位的长度

set @subStr=subString(@str,-1,5)

@subStr值为'123'

位置-1和位置0上没有字符,却占去了两位的长度。

所以得出以下结论:使用函数subString时,第二个参数$startingLoc虽然可以给0或负数,但最好给实际的开始位置,避免造成不必要的麻烦。

SQLServer中使用SUBSTRING截取字符串

SUBSTRING  返回字符、binary、text      或      image      表达式的一部分。有关可与该函数一起使用的有效      Microsoft®      ...
  • F7ANTY
  • F7ANTY
  • 2013年12月01日 21:10
  • 1526

SQL Server数据库Substring函数使用方法小结

在SQL Server数据库操作中,我们常常会用到Substring函数,本文我们对Substring函数的使用方法进行了总结,并通过例子对它的使用方法加以说明。接下来就让我们来一起了解一下Subst...
  • fmup20115412
  • fmup20115412
  • 2014年04月20日 10:36
  • 1139

sqlserver 查找某个字符在字符串中第N次出现的位置

前几天的考试系统出现了一个问题,背景大概就是告诉你正确答案,比如说是:答案1#答案2#答案3...而几百个学生答题的记录也是这样格式存储的,问如何用sql语句为每个学生判分? 思路: 第一步:找到...
  • u012308971
  • u012308971
  • 2015年07月04日 16:59
  • 2139

SQL中SUBSTRING函数的用法

功能:返回字符、二进制、文本或图像表达式的一部分 语法:SUBSTRING ( expression, start, length )     SQL 中的 substring 函数是用来...
  • duck588
  • duck588
  • 2015年06月15日 09:29
  • 232

Mysql字符串截取函数SUBSTRING的用法说明

感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用。  函数:  1、从左开始截取字符串  left(str, length)...
  • u010469632
  • u010469632
  • 2015年06月12日 15:18
  • 964

golang substring方法的几种实现

substring方法的几种实现 原生方法,直接使用slice切片实现,但此方法对于包括中文字符就截取错误 s:="abcde" fmt.Println(s[0:2]);//输出 //ab//包含中文...
  • psyuhen
  • psyuhen
  • 2016年07月22日 20:33
  • 2287

String中substring方法内存泄漏问题

众所周知,JDK中以前String类中的substring方法存在内存泄漏问题,之所以说是以前,是因为JDK1.7及以后的版本已经修复了,我看都说JDK1.6的版本也存在这个问题,但是我本机上安装的1...
  • chenleixing
  • chenleixing
  • 2015年02月08日 21:12
  • 4402

【数据结构】算法4.2&4.3 串连接Concat&求子串SubString

/* 串的定长顺序存储表示 */ #include #include #include#define OK 1 #define ERROR 0 #define TRUE 1 #define FAL...
  • Vit_rose
  • Vit_rose
  • 2016年10月10日 20:11
  • 1621

MongoDB学习系列(二)mongo聚合查询实例

mongoDB聚合查询Java代码,小实例。 private void init(String year) throws Exception {         if (year == null)...
  • fanfan159357
  • fanfan159357
  • 2015年12月05日 23:19
  • 795

C# 之 字符串截取--Substring

说到字符串截取,大家首先相当的应该就是substring函数,今天就来给大家讲讲substring函数。 1.public String Substring(int startIndex);  ...
  • u010786678
  • u010786678
  • 2014年12月20日 09:10
  • 5449
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sqlserver substring函数
举报原因:
原因补充:

(最多只允许输入30个字)