求教SQL语句substring的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教SQL语句substring的用法相关的知识,希望对你有一定的参考价值。
现有表I,其中一个字段为L,格式为‘YY99YY99’,如果我要查询出L中所有第二个字母为A,且第七个数字为5的记录。我这么写对吗?
selcet L from I
where substring(L,2,1)='A' and substring(L,7,1)='5'
substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。
beginIndex - 起始索引(包括)。从0开始
endIndex - 结束索引(不包括)。
"unhappy".substring(2) returns "happy"
"hamburger".substring(4, 8) returns "urge"
sql server中substring的用法
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 \'%单元%室%\'
结果:
以上是关于求教SQL语句substring的用法的主要内容,如果未能解决你的问题,请参考以下文章