我可以在NOT NULL字段中插入空字符串吗?

aks*_*hay 12 sql

我可以在非空字段中插入空字符串吗?

insert into xyz(A,B) values(1,'');  // is this possible if B is NOT NULL?
Run Code Online (Sandbox Code Playgroud)

Dan*_*llo 17

是的,你可以...... NULL值的概念是SQL新手的常见混淆源,他们经常认为NULL与空字符串''相同,或者值为零.

不是这种情况.从概念上讲,NULL表示"缺少未知值",并且与其他值的处理方式略有不同.例如,要测试NULL,您不能在大多数DBMS中使用算术比较运算符,例如=,<或<>.


ber*_*d_k 17

取决于DBMS.

Oracle no:''和null是相同的

SQL-Server yes: ''和null是不同的值.