使用可选参数运行SQL查询的最佳方式是什么?

使用可选参数运行SQL查询的最佳方式是什么?,sql,sql-server,node.js,Sql,Sql Server,Node.js,我当前正在运行以下查询以将数据添加到数据库中的表中: INSERT INTO IDEIAS_INTERACOES (CODIGO, ARQUIVO, REMETENTE, MENSAGEM, UNIT, DATA) VALUES (@codigo, @file, @remetente, @mensagem, @unit, @data) 这很好,但是@file参数并不总是存在,在这种情况下,我希望列是'Undefined'。我可以使用三元运算符轻松地完成这项工作,但生成的代码杂乱无章,可能不太

我当前正在运行以下查询以将数据添加到数据库中的表中:

INSERT INTO IDEIAS_INTERACOES (CODIGO, ARQUIVO, REMETENTE, MENSAGEM, UNIT, DATA) 
VALUES (@codigo, @file, @remetente, @mensagem, @unit, @data)
这很好,但是
@file
参数并不总是存在,在这种情况下,我希望列是
'Undefined'
。我可以使用三元运算符轻松地完成这项工作,但生成的代码杂乱无章,可能不太理想。实现这一点的更优雅的方式是什么


注:我正在使用该模块。

根据您的评论,当
@文件
不存在时,其值为
“未定义”
。您可以使用
NULL如果
查找该值并返回
NULL

INSERT INTO IDEIAS_INTERACOES (CODIGO, ARQUIVO, REMETENTE, MENSAGEM, UNIT, DATA) 
VALUES (@codigo, NULLIF(@file, 'Undefined'), @remetente, @mensagem, @unit, @data)

我假设查询没有改变,所以变量应该存在。那么,如果它“不存在”,它的价值是什么?当它不存在时,它是
未定义的
。您可以始终执行
NullIf(@File,'undefined')
您使用的是什么数据库库?我希望您可以在参数数组中传递
null
。我可以自由编辑您的问题以匹配已接受的答案。在任何情况下,如果您使用的是JavaScript,那么只需从JavaScript传递最终值即可。