按空格分割字符串

时间:2013-10-04 14:46:33

标签: sql sql-server-2008 split

我正在尝试将字符串拆分的结果用于我的sql条件中的close

我有一个varchar列的hava表。我想要过滤结果只显示一个单词。

例如。如果表格的值为'ABC DEF','XYZ','EGF HIJ',我希望只得到'XYZ'

我不知道在这里使用什么,虽然在列中分割每个值将是单向的。但不确定如何将其用作conditoin

我看了下面的一些拆分样本。

DECLARE @Str VARCHAR(100) ='Test Word'

SELECT SUBSTRING(@Str , 1, CHARINDEX(' ', @Str ) - 1) AS [First],
       SUBSTRING(@Str , CHARINDEX(' ', @Str ) + 1, LEN(@Str )) AS [Last]

3 个答案:

答案 0 :(得分:5)

使用包含

的列仅获取“XYZ”
tableName.fieldName
'ABC DEF'
'XYZ'
'EGF HIJ' 

这样做

SELECT * 
FROM tableName
WHERE CHARINDEX(' ',fieldname) = 0

答案 1 :(得分:2)

这应该有效:

DECLARE @table TABLE (string VARCHAR(20))
INSERT @table VALUES ('ABC DEF')
INSERT @table VALUES ('XYZ')
INSERT @table VALUES ('EGF HIJ')

SELECT * FROM @table
WHERE CHARINDEX(' ', string) = 0

答案 2 :(得分:0)

这也可以

select SUBSTRING(EmpName,0,CHARINDEX(' ',EmpName)),SUBSTRING(EmpName,CHARINDEX(' ',EmpName),LEN(EMPNAME)) 
from tblemployee