我需要在SQL中分隔一个字符串,
实施例,
a='001A01-001A05'
我在OUTPUT中需要的是,
x='001A01'
y='001A05'
答案 0 :(得分:3)
使用LEFT
,CHARINDEX
和SUBSTRING
DECLARE @char VARCHAR(500)= '001A01-001A05'
SELECT LEFT(@char, Charindex('-', @char) - 1),
Substring(@char, Charindex('-', @char) + 1, Len(@char))
答案 1 :(得分:2)
Prdp的答案将是我的第一选择,但如果SQL Server 2012+,另一个选项是PARSENAME()
Declare @a varchar(25)='001A01-001A05'
Select x=ParseName(Replace(@a,'-','.'),2)
,y=ParseName(Replace(@a,'-','.'),1)
返回
x y
001A01 001A05
答案 2 :(得分:1)
使用LEFT
和RIGHT
DECLARE @str varchar(max)= '001A01-001A05'
select left(@str, charindex('-', @str)-1),
right(@str, charindex('-', @str)-1)