问题描述
我在 SQL 中有一个列,我想在选择时将一列拆分为两列(通过分隔符).例如,该表当前有:
I have a column in SQL that I would like to split a column into two columns on select (by a delimiter). For example, the table currently has:
--------- Mary - 16
我想要两列作为查询结果:
I'd like two columns as the result of the query:
-------- -------- Mary 16
感谢您的帮助.
推荐答案
SELECT left_side = RTRIM(SUBSTRING(col, 1, CHARINDEX('->', col)-2)), right_side = LTRIM(SUBSTRING(col, CHARINDEX('->', col) + 2, 4000)) FROM dbo.table;
啊,我明白了.| 字符是列说明符,不是输出的一部分.试试:
Ah, I see. | characters are column specifiers, not part of the output. Try:
SELECT left_side = LTRIM(RTRIM(SUBSTRING(col, 1, CHARINDEX('-', col)-1))), right_side = LTRIM(RTRIM(SUBSTRING(col, CHARINDEX('-', col) + 1, 4000))) FROM dbo.table;