我如何在 SQL 2008 中执行 concat()
How can i do a concat() in SQL 2008
我有这个声明,它适用于 SQL Server 2017:
REPLACE(CONCAT(NOM_TIPO_QUEBRA_ORDEM, CHAR(13), DSC_TIPO_QUEBRA_ORDEM, CHAR(13), HST_ORDEM_FILA_MOVIMENTO), CHAR(13) + CHAR(13), '') as justificativa_quebra
如何在不支持 CONCAT
的 SQL Server 2008 中执行同样的操作?
REPLACE(SELECT NOM_TIPO_QUEBRA_ORDEM, CHAR(13) + DSC_TIPO_QUEBRA_ORDEM, CHAR(13) + HST_ORDEM_FILA_MOVIMENTO), CHAR(13) + CHAR(13), '' as justificativa_quebra
CONCAT(a,b,c)
基本上只是 COALESCE(RTRIM(a),'') + COALESCE(RTRIM(b),'') + COALESCE(RTRIM(c),'')
(example).
的语法糖
所以:
REPLACE
(
CONCAT
(
NOM_TIPO_QUEBRA_ORDEM, CHAR(13),
DSC_TIPO_QUEBRA_ORDEM, CHAR(13),
HST_ORDEM_FILA_MOVIMENTO
),
CHAR(13) + CHAR(13), '') as justificativa_quebra
变成:
REPLACE(
COALESCE(RTRIM(NOM_TIPO_QUEBRA_ORDEM),'') + char(13)
+ COALESCE(RTRIM(DSC_TIPO_QUEBRA_ORDEM),'') + char(13)
+ COALESCE(RTRIM(HST_ORDEM_FILA_MOVIMENTO), ''),
CHAR(13) + CHAR(13), '') as justificativa_quebra
接下来,向链上发送一些反馈,即使用众所周知的不受支持的数据库平台并不是一个好主意。
我有这个声明,它适用于 SQL Server 2017:
REPLACE(CONCAT(NOM_TIPO_QUEBRA_ORDEM, CHAR(13), DSC_TIPO_QUEBRA_ORDEM, CHAR(13), HST_ORDEM_FILA_MOVIMENTO), CHAR(13) + CHAR(13), '') as justificativa_quebra
如何在不支持 CONCAT
的 SQL Server 2008 中执行同样的操作?
REPLACE(SELECT NOM_TIPO_QUEBRA_ORDEM, CHAR(13) + DSC_TIPO_QUEBRA_ORDEM, CHAR(13) + HST_ORDEM_FILA_MOVIMENTO), CHAR(13) + CHAR(13), '' as justificativa_quebra
CONCAT(a,b,c)
基本上只是 COALESCE(RTRIM(a),'') + COALESCE(RTRIM(b),'') + COALESCE(RTRIM(c),'')
(example).
所以:
REPLACE
(
CONCAT
(
NOM_TIPO_QUEBRA_ORDEM, CHAR(13),
DSC_TIPO_QUEBRA_ORDEM, CHAR(13),
HST_ORDEM_FILA_MOVIMENTO
),
CHAR(13) + CHAR(13), '') as justificativa_quebra
变成:
REPLACE(
COALESCE(RTRIM(NOM_TIPO_QUEBRA_ORDEM),'') + char(13)
+ COALESCE(RTRIM(DSC_TIPO_QUEBRA_ORDEM),'') + char(13)
+ COALESCE(RTRIM(HST_ORDEM_FILA_MOVIMENTO), ''),
CHAR(13) + CHAR(13), '') as justificativa_quebra
接下来,向链上发送一些反馈,即使用众所周知的不受支持的数据库平台并不是一个好主意。