如何sql server 获取第二个‘-’左右俩边值?
本帖最后由 poppin19 于 2013-04-03 11:53:00 编辑 有个字符串字段格式如下,如何获取第二个‘-’左边的值和右边的值?
字段
B10-1-40
B10-1-5
B10-1-6
B10-1-7
[解决办法]
左边的值:LEFT(档案号, 5)
右边的值:SUBSTRING(档案号, 7,6) 第二个数字大雨或等于右边的数值宽度
[解决办法]
if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (col nvarchar(16))
insert into [TB]
select 'B10-1-40' union all
select 'B10-1-5' union all
select 'B10-1-6' union all
select 'B10-1-7'
select * from [TB]
SELECT PARSENAME(REPLACE(col, '-', '.'), 3) ,
PARSENAME(REPLACE(col, '-', '.'), 2) ,
PARSENAME(REPLACE(col, '-', '.'), 1)
FROM dbo.TB
/*
(无列名)(无列名)(无列名)
B10140
B1015
B1016
B1017*/