我有一个MSSQL数据库字段,看起来像下面的示例:

u129  james
u300  chris
u300a jim
u202  jane
u5    brian
u5z   brian2

有没有办法选择第一组字符?基本上选择所有字符直到第一行?

我尝试弄乱LEFT,RIGHT,LEN,但是找不到像我的示例那样的使用可变字符串长度的方法。

谢谢!

最佳答案

您可以使用LEFTCHARINDEX的组合来查找第一个空格的索引,然后在其左侧获取所有内容。

 SELECT LEFT(YourColumn, charindex(' ', YourColumn) - 1)

并且如果您的任何列中没有空格:
SELECT LEFT(YourColumn, CASE WHEN charindex(' ', YourColumn) = 0 THEN
    LEN(YourColumn) ELSE charindex(' ', YourColumn) - 1 END)

08-04 17:04