Mit*_*chi 0 sql sql-server sql-server-2008 sql-server-2008-r2
我需要帮助来获取一列中空格之间的值.对于下面的要求,我需要第一个空格后的值.
我有一个包含多行的列:
原始列
Microsoft SQL Server
Oracle DB Server
Delete From Table Name
SELECT as123 987
Run Code Online (Sandbox Code Playgroud)
预期的产出是
Expected_Output
SQL
DB
From
as123
Run Code Online (Sandbox Code Playgroud)
这类问题的一个技巧是使用parsename().假设名称中没有句点,我认为以下是您想要的:
select parsename(replace(val, ' ', '.'), 2)
Run Code Online (Sandbox Code Playgroud)
这是一个例子.
编辑:
Sgeddes是对的.如果您一直想要第二个名称并且可以有三个或四个部分,那么reverse()可以使用:
select reverse(parsename(replace(reverse(val), ' ', '.'), 2))
Run Code Online (Sandbox Code Playgroud)
(似乎其中一个值确实有四个部分;我最初将其读作"从TableName中删除".)
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |