我有一个MSSQL数据库字段,看起来像下面的示例:
u129 james
u300 chris
u300a jim
u202 jane
u5 brian
u5z brian2
有没有办法选择第一组字符?基本上选择所有字符直到第一行?
我尝试弄乱LEFT,RIGHT,LEN,但是找不到像我的示例那样的使用可变字符串长度的方法。
谢谢!
最佳答案
您可以使用LEFT
和CHARINDEX
的组合来查找第一个空格的索引,然后在其左侧获取所有内容。
SELECT LEFT(YourColumn, charindex(' ', YourColumn) - 1)
并且如果您的任何列中没有空格:
SELECT LEFT(YourColumn, CASE WHEN charindex(' ', YourColumn) = 0 THEN
LEN(YourColumn) ELSE charindex(' ', YourColumn) - 1 END)