delimeter SQL时在varchar字符串上断开行
我使用长字符串进行SQLdelimeter 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您可以使用换行符和回车符替换空格和下划线,然后重新添加下划线。或者,如果不需要额外的
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上是这样。