SQL子串问题

时间:2014-07-22 05:18:13

标签: sql sql-server

您好我有一个名为mix的列,如下所示

120
102 201
300
234 212
11 21

所以问题是我想在找到空格时提取左边的数字,我正在尝试使用子串,如下所示,我想知道为什么它不起作用。

 select mix,  
 SUBSTRING(mix,1,CHARINDEX(' ',mix)-1)
 FROM tbl_xx
 where CHARINDEX(mix,' ')>0

3 个答案:

答案 0 :(得分:4)

查找字符串在CHARINDEX中排在第一位...在WHERE条件中更改

SELECT mix, SUBSTRING(mix, 1, CHARINDEX(' ',mix) - 1)
FROM   tbl_xx
WHERE  CHARINDEX(' ', mix) > 0

答案 1 :(得分:0)

试试这个

select mix,  
 SUBSTRING(mix,1,CHARINDEX(' ',mix)-1)
 FROM tbl_xx
 where CHARINDEX(' ',mix)>0

你的where子句charindex错误检查上面的

答案 2 :(得分:0)

使用LEFT

select mix,LEFT(mix,CHARINDEX(' ',mix)-1)
 FROM tabl
 where CHARINDEX(' ',mix)>0
相关问题