SQLServer数据库中截取字符串的常用方法

    最近一直在使用SQLServer数据库,里面的查询等操作与MySQL有所不同,所以还是需要多花点时间学习,今天Leader在我这里指导工作,现场纯熟地操作了一番数据库,着实让我佩服,简单记录一下下午学习到的SQLServer中的字符串的几个常用操作方法,注释很清楚就不多解释了,如下:

/******  Sql Server中截取字符串的常用方法  ******/

TESTCODESTRING='01378a77517a41e982b14cc97b1f8794'
--1、LEFT()方法---
--函数说明---
--1)语法:LEFT(character,integer)  
--2)介绍:参数1:要截取的字符串,参数2:截取字符个数
--3)使用: 
--返回从字符串左边开始指定个数的字符--
select LEFT(TESTCODESTRING,4)   返回左边前4个字符
--4)返回: 0137

--1、RIGHT()方法---
-- right()函数说明---
--1)语法:RIGHT(character,integer)  
--2)介绍:参数1:要截取的字符串,参数2:截取字符个数
--3)使用:
--返回从字符串右边开始指定个数的字符--
select RIGHT(TESTCODESTRING,4)   返回右边后4个字符
--4)返回: 8794

--1、SUBSTRING()方法---
-- substring()函数说明---
--1)语法:SUBSTRING(character,start,length)  
--2)介绍:参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度
--3)使用:
--返回从字符串中间的字符--
select SUBSTRING(TESTCODESTRING,4,8)  从左边第4个字符开始取长度为8的子串
--4)返回: 78a77517

          具体操作命令如下:

SELECT TESTCODESTRING,LEFT(TESTCODESTRING,4) FROM TestTable WHERE PSCODE='33030011111103'

结果为:
TESTCODESTRING,(无列名)
01378a77517a41e982b14cc97b1f8794,0137



SELECT TESTCODESTRING,RIGHT(TESTCODESTRING,4) FROM TestTable WHERE PSCODE='33030011111103'

结果为:
TESTCODESTRING,(无列名)
01378a77517a41e982b14cc97b1f8794,8794



SELECT TESTCODESTRING,SUBSTRING(TESTCODESTRING,4,8) FROM TestTable WHERE PSCODE='33030011111103'

结果为:
TESTCODESTRING,(无列名)
01378a77517a41e982b14cc97b1f8794,78a77517

        学习了。 

猜你喜欢

转载自blog.csdn.net/Together_CZ/article/details/82502272