在SQL SERVER中,如何在新行中查看多个列值

时间:2017-09-11 19:21:21

标签: sql-server

我在SQL Server中有一个数据,格式如下

SA                  Path_Information

------                ------

One                 H drive - H:\baa\C,H Drive - H:\CAA\D, DES- F:\detail

-------             -------------

Two                  Oracle: H:\baa\C, Excel: H:\CAA\D

但是,我想要它

SA      Path_Information
----------------
One       H Drive - H:\baa\C
           H Drive - H:\CAA\D
           DES - F:\detail

-------    -----------

Two        Oracle: H:\baa\C
           Excel: H:\CAA\D

将每个路径信息放在同一行的新行中。那么,任何人都可以告诉你该怎么做?感谢

1 个答案:

答案 0 :(得分:0)

您可以在数据中存储换行符和回车符,但您不会在SSMS中看到这一点。

我同时使用它们可以在许多应用程序中获得良好的效果,您希望将CHAR(13) + CHAR(10)放在您想要换行的位置。
在您的情况下,如果您的逗号当前是分隔符,则可以用前面提到的2个字符的字符串替换逗号。

您可以这样存储它,或者以那种方式查询它以用于显示目的。

  

使用CHAR的文档:https://docs.microsoft.com/en-us/sql/t-sql/functions/char-transact-sql

修改

如果要选择这些值,可以使用REPLACE功能,如下所示:

SELECT
    SA
    ,REPLACE(path_information,',',char(13)+char(10))
FROM myTable  

如果您希望更新数据库以实际存储方式,则执行以下操作:

UPDATE myTable
SET path_information = REPLACE(path_information,',',char(13)+char(10))