SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分。
例如,我们需要将字符串'abdcsef'中的‘abd’给提取出来,则可用substring 来实现:
select substring('abdcsef',1,3)
结果:
'abd'
括号中数字‘1’表示截取的起始位置是从该字符串第一个字符开始,‘3’表示截取后得到的字符串长度为3个字符。
这是‘substring’最基础的语法,当然,我们的需求有时候会变得比较复杂,例如以下例子:
我们只想要得到'roomno'中的房间号,发现起始字符位置并不是固定的,而且,我们需要的房间号长度也不固定。
此时,我们可以运用‘charindex’这个函数就可以轻松搞定,它是用来定位某个特定字符在该字符串中的位置,即该函数
得到的结果是一个用来表示某个特定字符位置的数字。执行如下代码:
select room_stand=substring(roomno,charindex('元',roomno)+1,charindex('室',roomno)-charindex('元',roomno)-1) from PROPERTY_room where roomno like '%单元%室%'
结果: