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

 

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

说说你所熟知的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. 对于区间取值,采取的是前闭后开的策略,也有是说包含开始下标,但是不包含结束下标。

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

 

你可能感兴趣的:(substring)