Sqlserver字符串截取函数,常用的有3个,left,right和substring。
故名思议,left从左侧取,right从右侧取,substring从指定位置取几位。
主要应用在两个方面:
对列使用
例如:
查询会计科目表,科目编号第一位是5的信息:
left实现:
select * from 会计科目 where left(科目编号,1)='5'
substring实现:
select * from 会计科目 where substring(科目编号,1,1)='5'
这种查询在多级编码查询中,使用的非常多,约定好了,能大大简化程序复杂度。
对字符串的使用
例如:
对监控设备发送的协议信息解析:
declare @ls_status varchar(8) -- 监控状态
declare @ls_tx char(1) -- 是否联机
declare @ls_t1 char(1) -- 1号堆垛机状态
declare @ls_t2 char(1) -- 2号堆垛机状态
declare @ls_t3 char(1) -- 3号堆垛机状态
-- 读取设备的状态
select @ls_status = state from 监控表
select @ls_tx = substring(@ls_status,2,1)
select @ls_t1 = substring(@ls_status,3,1)
select @ls_t2 = substring(@ls_status,4,1)
select @ls_t3 = substring(@ls_status,5,1)
总结:
对于字符串的截取函数,其实有一个substring就够用了,left和right有时使用更加方便,很多语言都有,例如pb和vb,有的开发语言只有substring,例如java和c#,都很好用,Sqlserver的字符截取函数,使用十分简单,用的灵活能够解决实际工作中的很多问题。