繁体   English   中英

按空格分割字符串

[英]Split string by space

我试图在我的 sql 条件中使用字符串拆分的结果

我有一个表,它有一个varchar列。 我试图过滤只出现一个单词的结果。

例如。 如果该表具有诸如“ABC DEF”、“XYZ”、“EGF HIJ”之类的值,而我希望得到的结果只有“XYZ”

我不确定在这里使用什么,尽管拆分列中的每个值将是一种方法。 但不确定如何将其用作条件

我看过一些像下面这样的分割样本。

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

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

要在包含的列中仅获取“XYZ”

tableName.fieldName
'ABC DEF'
'XYZ'
'EGF HIJ' 

这样做

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

这应该有效:

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

这也是工作

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM