最近一直在使用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

sql截取字符串前几位(SQLServer数据库中截取字符串的常用方法)(1)