我想在我已经在我的表中创建的新属性中更新和连接3列。但是,当我执行我的代码时,它会将之前具有值的属性放在null
。
我的代码示例:
update saber2012_1
set estu_fecha_nacimiento = Concat(estu_nacimiento_dia,'/',estu_nacimiento_mes,'/',estu_nacimiento_anno);
在此图片中,null
之前的所有值都具有值。
进行此次更新时
ALTER TABLE saber2012_uno ADD COLUMN punt_c_naturales int;
update saber2012_uno set punt_c_naturales = round((PUNT_BIOLOGIA::numeric + PUNT_FISICA::numeric + PUNT_QUIMICA::numeric) / 3,0);
alter table saber2012_uno DROP COLUMN PUNT_BIOLOGIA;
alter table saber2012_uno DROP COLUMN PUNT_FISICA;
alter table saber2012_uno DROP COLUMN PUNT_QUIMICA;
一切都很好。但我不知道,因为以前的更新是不正确的。
答案 0 :(得分:0)
也许你想要concat_ws()
:
update saber2012_1
set estu_fecha_nacimiento = concat_ws('/', estu_nacimiento_dia, estu_nacimiento_mes, estu_nacimiento_anno);
这将忽略NULL
。
但是,您的更新不会更改表中的任何其他列。当您在更新后进行查询时,结果可能只是以不同的顺序返回。