什么是可选参数运行的SQL查询的最优化的方式?
问题描述:
我目前运行下面的查询到我的数据库中的数据添加到表:什么是可选参数运行的SQL查询的最优化的方式?
INSERT INTO IDEIAS_INTERACOES (CODIGO, ARQUIVO, REMETENTE, MENSAGEM, UNIT, DATA)
VALUES (@codigo, @file, @remetente, @mensagem, @unit, @data)
这工作得很好,但是@file
说法并不总是存在,我想列是'Undefined'
在那种情况。我可以使用三元运算符轻松完成此任务,但由此产生的代码很混乱,可能不是最理想的。完成此操作的更优雅的方式是什么?
诗:我使用的是mssql模块。
答
根据您的意见,当@file
不存在,它的值是'undefined'
。您可以使用NULLIF
寻找那些价值,并返回一个NULL
:
INSERT INTO IDEIAS_INTERACOES (CODIGO, ARQUIVO, REMETENTE, MENSAGEM, UNIT, DATA)
VALUES (@codigo, NULLIF(@file, 'Undefined'), @remetente, @mensagem, @unit, @data)
+0
正是我在找什么,谢谢o / –
我想查询没有改变,所以变量应该存在。所以,如果它“不存在”,它的价值是什么? – Siyual
当不存在时,它是'未定义的'。 –
你总是可以做'NULLIF(@file,“未定义”)' – Siyual