我在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
将每个路径信息放在同一行的新行中。那么,任何人都可以告诉你该怎么做?感谢
答案 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))