Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 1.2 KB

说说你所熟知的MSSQL中的substring函数.md

File metadata and controls

42 lines (30 loc) · 1.2 KB
title date
说说你所熟知的MSSQL中的substring函数
2017/02/21 14:47:10

说说你所熟知的MSSQL中的substring函数

函数签名:

substring
	--expression (varchar,nvarchar,text,ntext,varbinary,or image)
	--Starting position (bigint)
	--Length (bigint)

从函数名称来看,是截取字符串内容。 从函数签名来看,不仅能截取字符串内容,还能截取二进制内容

那么,你觉得如下应该sql语句应该是什么结果呢?

select subString('123456',0,1)
select subString('123456',1,1)
select subString('123456',-1,2)
select subString('123456',-1,3) 

如果想好了,但不确定,那赶紧打开工具执行看看吧

你答对了吗?为什么会是那些结果,能解释吗?

三大知识点:

  1. MSSQL中,下标从1开始,注意:不是大多数编程语言采用的0。
  2. substring函数的调用substring(str,startIndex,length) 效果上是转换为substring(str,startIndex,endIndex)来运算的, endIndex=startIndex+length。
  3. 对于区间取值,采取的是前闭后开的策略,也有是说包含开始下标,但是不包含结束下标。

那么能解释上面的代码了吗?