将一列中的值拆分为两列
我在 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;
相关文章