空でない文字列を空欄に挿入できますか?NOT NULLフィールドに空の文字列を挿入できますか?
insert into xyz(A,B) values(1,''); // is this possible if B is NOT NULL?
空でない文字列を空欄に挿入できますか?NOT NULLフィールドに空の文字列を挿入できますか?
insert into xyz(A,B) values(1,''); // is this possible if B is NOT NULL?
はいあなたは... NULL値の概念は、多くの場合、NULLが空の文字列「」、またはゼロの値と同じであることを考えるSQLへの新規参入のための混乱の共通のソースであることができます。
これは該当しません。概念的には、NULLは「不明な値が見つからない」ことを意味し、他の値とは多少異なる扱いをします。たとえば、NULLをテストするには、ほとんどのDBMSで=、<、または<などの算術比較演算子を使用できません。
DBMSによって異なります。
オラクル何: '' とnullは、同一
SQL-Serverのはいている: '' とnullは、異なる値ではありません。
+1。私はMySQLからOracleに切り替えたとき、私の頭を強く叩いた。 'where code = '''は "空文字列"を返さなくなりました... – Ronnis
Daniel氏によると、はい、長さゼロの文字列をNOT NULLフィールドに挿入することができます(Oracleを除く)。しかし、あなたにも長さゼロの文字列を除外したい場合は、制約を追加することができます
ALTER TABLE xyz ADD CONSTRAINT CHECK (b LIKE '_%');
最近のほとんどのデータベースは、正規表現の演算子を持っているか、あなたにも制約のために使用することができます機能が、正確な構文はデータベースによって異なります。
「//」は標準SQLコメントセパレータではありません。 ;-) –