Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
delimeter SQL时在varchar字符串上断开行_Sql_Sql Server - Fatal编程技术网

delimeter SQL时在varchar字符串上断开行

delimeter SQL时在varchar字符串上断开行,sql,sql-server,Sql,Sql Server,我使用长字符串进行SQLSELECTquery,例如: SELECT RTRIM(CAST(DNH_INFO AS VARCHAR(150))) ''这是一个非常长的字符串,用下划线分隔。 因此,我希望通过下划线断行,但仍然保持相同的字符串,exmaple: '_This is _a very _long string _...' 有什么SQL函数可以解决这个问题吗 谢谢你的帮助 @makaroN您可以使用换行符和回车符替换空格和下划线,然后重新添加下划线。或者,如果不需要额外的

我使用长字符串进行SQL
SELECT
query,例如:

SELECT RTRIM(CAST(DNH_INFO AS VARCHAR(150)))
''这是一个非常长的字符串,用下划线分隔。

因此,我希望通过下划线断行,但仍然保持相同的字符串,exmaple:

'_This is

 _a very

 _long string

 _...'
有什么SQL函数可以解决这个问题吗


谢谢你的帮助

@makaroN您可以使用换行符和回车符替换空格和下划线,然后重新添加下划线。或者,如果不需要额外的行空间,可以只使用回车符(char(13)或反转字符(13)+字符(10)。请参见下面的示例

SELECT REPLACE('_This is _a very _long string _separated _with underline', 
               ' _', char(10) + char(13) + '_')

p、 s如果在management studio中执行,您可能希望选择“结果到文本”以立即查看格式。

我认为您应该标记SQL db引擎(MSSQL、MySQL、Oracle、Postresql、DB2、Access等)…然后您可以查看或类似您希望它作为一个单独的行或进入不同的列?是的,但这不是我想要的。我想要的是一行,只是换行符。不是不同的列。您的RDBMS是什么?谢谢@trincot刚刚编辑以显示下划线。Windows换行符是CrLf,不是LfCr,所以我想说您需要
char(13)+char(10)
以获得换行符。是的,这就是我提到的,但他的示例显示了换行到LfCr后,换行符之间的空间很大……至少在management studio上是这样。