我有一列存储一个ID,该ID与一个用“-”表示的帐号相结合
例如:1000-701000000788917
我需要能够编写WHERE子句,如果第一个数字为2000,则全部忽略该记录,但是如果结果不是以2000开头,则剥离前5个字符并仅在701000000788917的列中记录目标表。
答案 0 :(得分:0)
怎么样?
INSERT NewTable (NewID)
SELECT SUBSTRING(ID,6,LEN(ID)) AS ID
FROM MyTable
WHERE LEFT(ID,5) <> '2000-';
这假设您的起始ID为4个字符。
答案 1 :(得分:0)
尝试这些方法
declare @u varchar(max)= '2000-701000000788917'
declare @y varchar(max)= '1000-701000000788917'
select substring(@y,CharIndex('-',@y) + 1,len(@y)) --- get everything after the hyphen
select * from Table where substring(@u,0,4) != '2000' -- get where the first 4 char are not equal to 2000
答案 2 :(得分:0)
SELECT RIGHT(ID, Len(ID) - CharIndex('-', ID))
FROM YourTable
WHERE ID NOT LIKE '2000-%'
它将排除第一个'-'字符之前的所有内容。