Sql server 使用T-SQL将表转换为HTML,处理NULL问题

Sql server 使用T-SQL将表转换为HTML,处理NULL问题,sql-server,tsql,Sql Server,Tsql,我更愿意显示RE_ISSUE_CHK_NUM是否为null,但该字段是int,我认为“TYPE”参数强制返回值与原始列的类型匹配 如何修改输出,使所有列都是文本,因此是可格式化的 编辑 当我尝试这个 Msg 245, Level 16, State 1, Line 3 Conversion failed when converting the varchar value 'Null' to data type int. 我希望在HTML中显示字符串“Null”的是空的数字校验号字段 问题出在类

我更愿意显示RE_ISSUE_CHK_NUM是否为null,但该字段是int,我认为“TYPE”参数强制返回值与原始列的类型匹配

如何修改输出,使所有列都是文本,因此是可格式化的

编辑

当我尝试这个

Msg 245, Level 16, State 1, Line 3
Conversion failed when converting the varchar value 'Null' to data type int.
我希望在HTML中显示字符串“Null”的是空的数字校验号字段

问题出在
类型
参数上吗

如果我试图用varchar literal'(Null')替换-1,就会得到错误 将varchar值“Null”转换为数据类型int时,转换失败

我怀疑以下行出现此错误:

Msg 245, Level 16, State 1, Line 3
Conversion failed when converting the varchar value '(Null)' to data type int.
如何修改输出,使所有列都是文本,因此是可格式化的

您可以
非文本列转换为
NVARCHAR

e、 g

如果我试图用varchar literal'(Null')替换-1,就会得到错误 将varchar值“Null”转换为数据类型int时,转换失败

我怀疑以下行出现此错误:

Msg 245, Level 16, State 1, Line 3
Conversion failed when converting the varchar value '(Null)' to data type int.
如何修改输出,使所有列都是文本,因此是可格式化的

您可以
非文本列转换为
NVARCHAR

e、 g

换行

td = CONVERT(NVARCHAR(16), ISNULL(S.RE_ISSUE_CHK_NUM,-1)), '',

td=S.RE\u ISSUE\u CHK\u NUM为空时的情况,则“ELSE CONVERT(NVARCHAR(16),S.RE\u ISSUE\u CHK\u NUM)结束,”,
更改此行

td = CONVERT(NVARCHAR(16), ISNULL(S.RE_ISSUE_CHK_NUM,-1)), '',

td=S.RE\u ISSUE\u CHK\u NUM为空时的情况,则“ELSE CONVERT(NVARCHAR(16),S.RE\u ISSUE\u CHK\u NUM)结束,”,

创建HTML电子邮件报告。如图所示:SQL不是一个很好的工具。Html不仅仅是连接事物——还有重要的转义规则。重要的是,html不是xml。在我看来,这里唯一正确的做法是使用SQL获取数据,并在不同的层中构建报告(例如,一个.net应用程序,但任何平台都可以)。SQL不是一种通用编程语言。请使用Thx进行回复。请看我的update@Marc:我倾向于同意你的看法。创建HTML电子邮件报告。如图所示:SQL不是一个很好的工具。Html不仅仅是连接事物——还有重要的转义规则。重要的是,html不是xml。在我看来,这里唯一正确的做法是使用SQL获取数据,并在不同的层中构建报告(例如,一个.net应用程序,但任何平台都可以)。SQL不是一种通用编程语言。请使用Thx进行回复。请看我的update@Marc当前位置我倾向于同意你的看法。
td = ISNULL(S.ERR_DESC,'-1'), 
td = CONVERT(NVARCHAR(16), ISNULL(S.RE_ISSUE_CHK_NUM,-1)), '',
td = CONVERT(NVARCHAR(16), ISNULL(S.RE_ISSUE_CHK_NUM,'(Null)')), '',
td = CASE WHEN S.RE_ISSUE_CHK_NUM IS NULL THEN '<NULL>' ELSE  CONVERT(NVARCHAR(16), S.RE_ISSUE_CHK_NUM) END , '',