将一列中的值拆分为两列

Ton*_*ony 2 t-sql sql-server

我在SQL中有一个列,我想在select(分隔符)上将列拆分为两列.例如,该表目前具有:

---------
Mary - 16
Run Code Online (Sandbox Code Playgroud)

作为查询的结果,我想要两列:

--------   --------
Mary       16
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

Aar*_*and 5

SELECT 
  left_side  = RTRIM(SUBSTRING(col, 1, CHARINDEX('->', col)-2)),
  right_side = LTRIM(SUBSTRING(col, CHARINDEX('->', col) + 2, 4000))
FROM dbo.table;
Run Code Online (Sandbox Code Playgroud)

啊,我明白了.|字符是列说明符,不是输出的一部分.尝试:

SELECT 
  left_side  = LTRIM(RTRIM(SUBSTRING(col, 1, CHARINDEX('-', col)-1))),
  right_side = LTRIM(RTRIM(SUBSTRING(col, CHARINDEX('-', col) + 1, 4000)))
FROM dbo.table;
Run Code Online (Sandbox Code Playgroud)