Sql 红移:将空字符串更新为空字符串
有一个带有“列a”的红移表 以下查询将以“Null”字符串返回大量结果Sql 红移:将空字符串更新为空字符串,sql,amazon-redshift,Sql,Amazon Redshift,有一个带有“列a”的红移表 以下查询将以“Null”字符串返回大量结果 select column_a from table where lower(column_a)='Null' limit 100; 但如果我这样做了 update table set column_a = NULL where lower(column_a)=''; 我收到一条错误消息 Cannot insert a NULL value into column binhash 我是否可以将“Null”字符串替换为N
select column_a from table where lower(column_a)='Null' limit 100;
但如果我这样做了
update table set column_a = NULL where lower(column_a)='';
我收到一条错误消息
Cannot insert a NULL value into column binhash
我是否可以将“Null”字符串替换为Null?谢谢如果我不明白你的问题,请纠正我 据我了解 你有这样的桌子吗-
create table dev.gp_test_20200731
(
name varchar(100) NOT NULL,
rolnum int ,
subject varchar(100) null
);
像这样的数据-
create table dev.gp_test_20200731
(
name varchar(100) NOT NULL,
rolnum int ,
subject varchar(100) null
);
i、 我是这样插的-
('abc',01),
('cde',02,'chemistry'),
('def',03,'')
因此,rolnum=1
,将subject
列设为NULL-
select * from dev.gp_test_20200731 where subject is null
&
rolnum=3
,将主题
列作为空字符串
或'
-
现在,我正在rolnum=3
上运行更新查询,其中subject
列为empty string
-
update dev.gp_test_20200731 set subject = null where lower(subject) = ''
结果-
select * from dev.gp_test_20200731 where subject is null
我无法复制此问题。打字错误。刚刚更正了描述。它们是同一列。谢谢可能该列已声明为
非空
。很抱歉投票迟到!我出去度假了!感谢您回答@Golokesh
select * from dev.gp_test_20200731 where subject is null