SQL中的字符串截取函数
Posted 晓之以理的喵~~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中的字符串截取函数相关的知识,希望对你有一定的参考价值。
字符串截取函数,也是我们在数据开发分析的过程中比较常用的函数,比较常用的函数,有四个 left()、right()、substr()、substring_index() 函数。
一、left()函数
含义:返回从字符串左边开始指定个数的字符
语法格式:left(column,n)
释义:从字段column的字符串内容的左面开始截取,总共截取 n 的位置。
示例语句:SELECT office_name,LEFT(office_name,2) FROM database.table
结果展示:
二、right()函数
含义:返回从字符串右边开始指定个数的字符
语法格式:right(column,n)
释义:从字段column的字符串内容的右面开始截取,总共截取 n 的位置
示例语句:SELECT office_name,right(office_name,1) FROM database.table
结果展示:
三、substr()函数
substr()函数是我们在做字符串截取的时候,用的相对比较对的一个函数,因为它比较灵活,参数比较丰富,可以实现相对复杂一点的字符串截取需求。
格式:substr( expression , start , length )
释义:
(1)expression:需要被截取的字符串,可以是字符串、二进制字符串、text、image、列或包含列的表达式。
(2)start :开始截取的位置。
(3)length :需要截取的长度,(这个参数可以省略,如果没有指定截取长度,默认截取后面的所有字符)。
1,从指定位置开始截取到字符串结束
表达式:substr(column,2)
释义:从column的第二位开始截取,到字符串结束
示例语句:SELECT office_name,SUBSTR(office_name,2) FROM database.table ;
结果展示:
2,从指定位置截取,并指定截取位数
表达式:substr(column,2,1)
释义:从column的第二位开始截取,截取一位
示例语句:SELECT office_name,SUBSTR(office_name,2,1) FROM database.table ;
结果展示:
3,从字符串末尾第一位开始截取
表达式:substr(column,-1)
释义:从字符串末尾第一位开始截取,省略第三个函数,表示截取整个字符串
示例语句:SELECT office_name,SUBSTR(office_name,-1) FROM database.table
结果展示:
4,从字符串倒数几位开始截取,指定个数的字符
表达式:substr(column,-2,1)
释义:从column倒数第二位开始截取,截取一位
示例语句:SELECT office_name,SUBSTR(office_name,-2,1) FROM database.table
结果展示:
四、substring_index() 函数
1,指定字符在字符串中从前往后数出现次数位置,截取该位置之前的所有字符
表达式:substring_index(column,str,count)
释义:截取字符串column,str出现从前往后数第count次,之前的所有字符
示例语句:SELECT substring_index(‘www.baidu.com’,‘.’,2)
结果展示:
2,指定字符在字符串中从后往前数出现次数位置,截取该位置之后的所有字符
表达式:substring_index(column,str,-count)
释义:截取字符串column,str出现从后往前数第count次,之后的所有字符
示例语句:SELECT substring_index(‘www.baidu.com’,‘.’,-2)
结果展示:
3,指定字符在字符串不存在
表达式:substring_index(column,str,count)
示例语句:SELECT substring_index(‘www.baidu.com’,‘Goole’,2)
结果展示:
以上就是我在工作中常用的,分享出来,希望可以和大家一起交流~~
sql如何截取日期字段中的年和月
sql如何截取日期字段中的年和月,日期字段中内容如"2008-12-01",现在让其截取出来显示为"200812"谢谢!
并不需要截取,通过year函数和month函数就可以解决。
比如字段名字叫startdate,类型是datetime。
获得字段中的年和月可用如下语句
select year(startdate) as 年,month(startdate) as 月 from 表名 参考技术A selectyear(getdate())
select
datepart(yy,getdate())
例如:
select
year(字段)
as
'年'
from
table_name
select
datepart(yy,字段)
as
'年'
from
table_name
用year()和datepart()函数都可以获取日期中的年。有问题可以追问或hi我。 参考技术B SELECT CAST(DATEPART(YEAR,GETDATE())AS VARCHAR)+CAST(DATEPART(MONTH,GETDATE()) AS VARCHAR)
方法很多啊 有需要就HI我 参考技术C SELECT DATENAME(yyyy, rq) + DATENAME(mm, rq) AS ny
from biao
返回的是字符型的本回答被提问者采纳
以上是关于SQL中的字符串截取函数的主要内容,如果未能解决你的问题,请参考以下文章