标签: empty-string

何时使用 NULL,何时使用空字符串?

我主要对 MySQL 和 PostgreSQL 感兴趣,但您可以大致回答以下问题:

  • 是否存在区分空字符串和 NULL 有用的逻辑场景?
  • 将空字符串存储为...的物理存储含义是什么?

    • 空值?
    • 空字符串?
    • 另一个领域?
    • 还有什么办法吗?

null empty-string feature-comparison

100
推荐指数
5
解决办法
10万
查看次数

空字符串:为什么或何时 '' 等于 ' '?

谁能解释为什么

select case when '' = ' ' then 1 else 0 end, LEN(''), LEN(' '), DATALENGTH(''), DATALENGTH(' ');
Run Code Online (Sandbox Code Playgroud)

产量

----------- ----------- ----------- ----------- -----------
1           0           0           0           1
Run Code Online (Sandbox Code Playgroud)

有趣的结果是,在

create table test ( val varchar(10) );
insert into test values( '' );
update test set val = ' ' where val = '';
Run Code Online (Sandbox Code Playgroud)

更新确实会用空白替换空字符串,但 where 子句保持为真,并且重复执行更新语句告诉

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 empty-string

17
推荐指数
1
解决办法
6456
查看次数

Oracle空字符串转换为null

执行插入时,空字符串将转换为 null:

insert into test (f) values ('');
Run Code Online (Sandbox Code Playgroud)

现在,有一行 f 包含空值。

但是,当我查询表时,我不能使用 '':

select * from test where f='';
no rows selected
Run Code Online (Sandbox Code Playgroud)

我可以使用空值:

select * from test where f is null;
____F_
NULL
Run Code Online (Sandbox Code Playgroud)

所以......似乎Oracle决定不能将空字符串用于插入,但在执行查询时它们仍然是空字符串。关于空字符串何时变为空值以及何时仍为空字符串的文档在哪里?

null empty-string oracle

9
推荐指数
2
解决办法
5万
查看次数

空 LONGTEXT 还是 NULL?

在我的 MySQL 数据库中,我有一个名为的字段html_contents,其中包含要在网页中显示的所有 html。显然 html 可能很大,而且肯定大于 64KB,因此我决定使用LONGTEXT而不是VARCHAR.

当字段未设置或留空时,您是否认为将其设置为 NULL 或空字符串更好(对于数据库来说别名更有效)?

我读过这篇文章:何时使用 NULL 以及何时使用空字符串?但它一般谈论空字符串(可能是小字符串而不是LONGTEXT)。

我想知道 with 是否LONGTEXT是一个不同的故事,它是否可以节省大量空间或执行时间,NULL而不是留空LONGTEXT

mysql null empty-string database-design

6
推荐指数
1
解决办法
1万
查看次数

我应该将空的 varchar 值转换为 NULL 吗?

我有一个接受各种 varchar 参数的存储过程。调用该过程的中间层代码在它提交的值方面不一致。例如,有时像“传输描述”这样的参数会被提交为 NULL,有时它会是一个空字符串。

就客户端而言,空字符串仅表示未输入值。

在插入数据之前,我应该将所有空的 varchar 参数转换为 NULL 吗?

我无法确定这是否属于保持数据完整性的最佳实践,还是一个坏主意,因为我没有代表实际提交给数据库的内容。

我应该注意到所有插入和更新都在审计日志中进行跟踪。

empty-string sql-server best-practices stored-procedures

4
推荐指数
2
解决办法
4376
查看次数