sql - 如何构建允许我在数字字段中插入空白的 SQL 插入查询?
问题描述
我有一些来自我要添加到数组中的 Excel 工作簿的值。最终,我遍历数组并构建一个 sql 插入查询(使用 Excel VBA),并将值存储到数组中。
我调试了我构建的 sql 查询字符串,它显示为:
INSERT INTO RAPTOR_BG.Project_Attributes (
P-Key,
Contract_Currency,
FX_Rate,
Rate_Discount,
Study_Award,
BLD,
Submitted_Date
)
VALUES (
'1111111|7-22-2020',
'USD',
'0.91',
'',
'5-29-2019',
'',
'7-22-2020'
);
Rate_Discount 和 BLD 都是数字,不接受 ' '。有没有办法让 sql 接受这个空白为空?我做了一些研究,发现有些人使用 case 语句取得了成功,但我看到的所有示例都使用变量或类似的东西 (@SomeName) 在这里的答案中找到。
我已经尝试通过执行以下操作来调整我的代码以适应我看到的示例,但它引发了一个错误,指出 CASE 规范中的至少一个结果表达式必须是 NULL 常量以外的表达式。
*insert statement from before*
VALUES (
'1111111|7-22-2020',
'USD',
'0.91',
CASE WHEN '' is null then null end,
'5-29-2019',
'',
'7-22-2020'
);
我将在数百个工作簿上运行我的代码,其中一些值将是空白的,而另一些则不会,所以我不一定能硬编码 null 而不是“”。有没有办法让数字字段接受空白为空?
解决方案
好的,我想通了这一点。请在下面找到答案。
INSERT INTO RAPTOR_BG.Project_Attributes (
P-Key,
Contract_Currency,
FX_Rate,
Rate_Discount,
Study_Award,
BLD,
Submitted_Date
)
VALUES (
'1111111|7-22-2020',
'USD',
'0.91',
CASE WHEN '' is null then 0 end,
'5-29-2019',
CASE WHEN '' is null then 0 end,
'7-22-2020'
);
推荐阅读
- typescript - 在 d.ts 文件中的回调内部强制执行值类型以回调
- python - 为什么我会收到“ValueError:int() 以 10 为底的无效文字”。在这个 Python 代码中?
- c# - 来自 web api 的自定义 Json 响应
- html - 获取外部html元素属性的角度方式
- php - cakephp中的自定义查询分页
- mysql - mysql ddbb 与 Tomcat 一起使用的文件夹
- eclipse - 如何在 Eclipse(就地编辑器)上打开 odt 文件?
- wordpress - 如何在 SyntaxHighlighter Evolved WordPress 插件中突出显示某些行
- docker - 将 SSL 证书添加到 Docker linux 容器
- swift - 从数组的 API Array 解析