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