在字符串中查找空格的第一个实例

时间:2018-11-21 21:55:56

标签: sql-server position substring

我试图通过在字符串字段Part_Comment中查找空格的第一个实例来返回字符串中的第一个单词。字段Part_Comment中的字符串示例为:

13088V21 () (FAB)
G16707 (FOLD) ()
16636U01.01

我尝试过:

substring(Part_Comment from 1 for position(' ' in Part_Comment)-2) as "AssyNo",

,其中带有错误“关键字'from'附近的语法不正确”。但是当我自己单独使用Part_Comment时,效果很好。

substring(Part_Comment from 1) as "AssyNo",

与上述相同错误

left(Part_Comment,10) as "AssyNo",

这可行,但是我需要使用position函数或其他方法来找到''子字符串。但是很明显,position函数在出现多个实例时返回0。

我想这是用户想要的非常普遍的事情,因此必须有一个简单的解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用LEFT和POSITION进行操作,如下所示:

LEFT(Part_Comment, POSITION(' ' in Part_Comment)-1))

编辑

如@Arioch“在评论中建议,必须实现安全性

  CASE POSITION(' ' in Part_Comment)
    WHEN 0 THEN 'Part_Comment'
    ELSE LEFT(Part_Comment, POSITION(' ' in Part_Comment)-1)
  END