Aji*_*oel 1 sql t-sql sql-server
使用T-SQL,我试图找到最容易"Test One"成为的方法"One, Test".
基本上切换""和","如果列中只有2个单词,它们之间有空格.
例如:
Before After
Test One One, Test
Test Two One Test Two One
Test, Three Test, Three
Run Code Online (Sandbox Code Playgroud)
这个怎么样:
select col Before,
case
when col like '%,%' then col
when len(replace(col, ' ', '')) = len(col) -1
then reverse(substring(reverse(col), 1, charindex(' ', reverse(col))-1))+', '+substring(col, 1, charindex(' ', col)-1)
else col
end After
from yourtable
Run Code Online (Sandbox Code Playgroud)
请参阅SQL Fiddle with Demo.结果是:
| BEFORE | AFTER |
-------------------------------
| Test One | One, Test |
| Test Two One | Test Two One |
| Test, Three | Test, Three |
Run Code Online (Sandbox Code Playgroud)