sql - SQL如何在使用INSERT INTO添加到表之前检查值的类型?
问题描述
如果出现以下情况,我需要在我的数据库中插入一个值:
- 它不为空
- 它只是任何类型的数字(int,decimal ...)
我的查询如下:
INSERT INTO my_table
(SELECT field_name, field_value FROM source_table WHERE field_value IS NOT NULL)
假设我有这张桌子:
在这个例子中我有兴趣添加的唯一字段是 f1 和 f2。
解决方案
只需使用 TRY_TO_NUMBER 转换值并添加 WHERE 子句“WHERE TRY_TO_NUMBER(field_val) is not null”
推荐阅读
- node.js - NodeJS 在运行 await 方法之前发送响应
- python - 如何在 python 和节点进程之间共享 mmap
- c++ - 如何将 QString 转换为 std::chrono
- c# - PreviewLeftButtonUp 触发太晚了
- javascript - Javascript 函数不能像我想要的那样工作
- javascript - webpack 多个源文件夹
- sql - 如果满足条件,SQL 将状态应用于帐户的每一行
- oracle - Oracle 数据建模器不保存 dmd 文件
- java - 从 Python 访问 Hadoop -- java.io.IOException: 管道已结束
- python - PyTorch 和精确解析表达式的区别