我在 SQL 中有一列,我想在选择时将一列拆分为两列(通过分隔符)。例如,该表当前有:
---------
Mary - 16
我想要两列作为查询结果:
-------- --------
Mary 16
感谢您的帮助。
最佳答案
SELECT
left_side = RTRIM(SUBSTRING(col, 1, CHARINDEX('->', col)-2)),
right_side = LTRIM(SUBSTRING(col, CHARINDEX('->', col) + 2, 4000))
FROM dbo.table;
啊,我明白了。 |
字符是列说明符,不是输出的一部分。尝试:
SELECT
left_side = LTRIM(RTRIM(SUBSTRING(col, 1, CHARINDEX('-', col)-1))),
right_side = LTRIM(RTRIM(SUBSTRING(col, CHARINDEX('-', col) + 1, 4000)))
FROM dbo.table;
关于sql-server - 将一列中的值拆分为两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7561346/