我在一个有很多不同领域的网站上有一个表格.某些字段是可选字段,而某些字段是必填字段.在我的数据库中,我有一个包含所有这些值的表,是否更好的做法是将NULL值或空字符串插入到用户未放置任何数据的DB列中?
我正在尝试编写一个查询,该查询仅选择所有非空名称。以下两个查询均不返回结果:
SELECT name FROM MyTable WHERE name != '';
SELECT name FROM MyTable WHERE name = '';
Run Code Online (Sandbox Code Playgroud)
对于上下文,这两个查询都返回结果:
SELECT name FROM MyTable WHERE name != 'a';
SELECT name FROM MyTable WHERE name IS NOT NULL;
Run Code Online (Sandbox Code Playgroud)
我在某处读到空字符串等效于oracle中的NULL,但我仍然不明白为什么这解释了这种行为。我需要同时支持SQL Server和Oracle,这就是为什么我不能仅仅依靠的原因WHERE name IS NOT NULL
谁能解释这里发生了什么?谢谢!