Fra*_*isc 22 mysql integer casting
如何将返回NULL的内容转换为0?
如果这是我的问题:select col from table;
这是否是正确的方法:select cast(col as unsigned integer) from table;
?
谢谢.
Dan*_*llo 45
您可能想要使用该COALESCE()
功能:
SELECT COALESCE(col, 0) FROM `table`;
Run Code Online (Sandbox Code Playgroud)
COALESCE()
返回NULL
列表中的第一个非值,或者NULL
如果没有非NULL
值.
测试用例:
CREATE TABLE `table` (id int, col int);
INSERT INTO `table` VALUES (1, 100);
INSERT INTO `table` VALUES (2, NULL);
INSERT INTO `table` VALUES (3, 300);
INSERT INTO `table` VALUES (4, NULL);
Run Code Online (Sandbox Code Playgroud)
结果:
+------------------+
| COALESCE(col, 0) |
+------------------+
| 100 |
| 0 |
| 300 |
| 0 |
+------------------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
您还可以使用该IFNULL()
功能:
SELECT IFNULL(col, 0) FROM `table`;
Run Code Online (Sandbox Code Playgroud)
IFNULL(expr1, expr2)
如果它不为空,则返回第一个表达式,否则返回第二个表达式。
测试用例:
CREATE TABLE `table` (id int, col int);
INSERT INTO `table` VALUES (1, 100);
INSERT INTO `table` VALUES (2, NULL);
INSERT INTO `table` VALUES (3, 300);
INSERT INTO `table` VALUES (4, NULL);
Run Code Online (Sandbox Code Playgroud)
结果:
+----------------+
| IFNULL(col, 0) |
+----------------+
| 100 |
| 0 |
| 300 |
| 0 |
+----------------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22976 次 |
最近记录: |