Một cái gì đó như thế này
declare @x nvarchar(500) = '1.1.1 chapter1'
select substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1) as Major,
substring(@x,charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x))) as Minor
Thay thế @x trong truy vấn của bạn ..
và cách giải quyết cho nó: http://sqlfiddle.com/#!3/d41d8 / 4424/0
được cập nhật với. phía trước và bằng chứng cho lỗi
khai báo @x nvarchar (500) ='1.1.1 chương 1'
select @x,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1)
else 'Cannot be parsed'
end,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x))+1)
else 'Cannot be parsed'
end
và không có. ở phía trước
khai báo @x nvarchar (500) ='1.1.1 chương 1'
select @x,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1)
else 'Cannot be parsed'
end,
case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1+charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x)))
else 'Cannot be parsed'
end
http://sqlfiddle.com/#!3/d41d8/4430/0