Sql Server中Substring函数的用法实例解析

yushuir 2019-04-09

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:

  • MySQL: SUBSTR( ), SUBSTRING( )
  • Oracle: SUBSTR( )
  • SQL Server: SUBSTRING( )

SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分。

例如,我们需要将字符串'abdcsef'中的‘abd'给提取出来,则可用substring 来实现:

select substring('abdcsef',1,3)

结果:

'abd'

括号中数字‘1'表示截取的起始位置是从该字符串第一个字符开始,‘3'表示截取后得到的字符串长度为3个字符。

这是‘substring'最基础的语法,当然,我们的需求有时候会变得比较复杂,例如以下例子:

Sql Server中Substring函数的用法实例解析

我们只想要得到'roomno'中的房间号,发现起始字符位置并不是固定的,而且,我们需要的房间号长度也不固定。

此时,我们可以运用‘charindex'这个函数就可以轻松搞定,它是用来定位某个特定字符在该字符串中的位置,即该函数

得到的结果是一个用来表示某个特定字符位置的数字。执行如下代码:

select room_stand=substring(roomno,charindex('元',roomno)+1,charindex('室',roomno)-charindex('元',roomno)-1) 
from PROPERTY_room
where roomno like '%单元%室%'

结果:

Sql Server中Substring函数的用法实例解析

相关推荐