这里我使用的是 DB2 的 SAMPLE 数据库。
我正在尝试使用合并来更改 EMPLOYEE 表的 MIDINIT 列中的空值,但在运行代码后仍然得到空值结果。
SELECT COALESCE (MIDINIT, 'XX') AS MIDINIT
FROM EMPLOYEE;
这里我使用的是 DB2 的 SAMPLE 数据库。
我正在尝试使用合并来更改 EMPLOYEE 表的 MIDINIT 列中的空值,但在运行代码后仍然得到空值结果。
SELECT COALESCE (MIDINIT, 'XX') AS MIDINIT
FROM EMPLOYEE;
你的错误是什么?
如果 MIDINIT 不是 char 或 varchar(示例是整数),您的合并将整数值替换为 char 值并且系统 SQL 无法选择类型
如果 MIDINIT 不是 char 或 varchar 你应该是
SELECT COALESCE (cast(MIDINIT as varchar(200)), 'XX') AS MIDINIT
FROM EMPLOYEE;
或者如果 MIDINIT 是数字
SELECT COALESCE (MIDINIT, 0) AS MIDINIT
FROM EMPLOYEE;
如果需要,您可以使用 ifnull 函数替换 coalesce(如果 MIDINIT 是 char 或 varchar):
SELECT ifnull(MIDINIT, 'XX') AS MIDINIT
FROM EMPLOYEE;