Questions tagged «null»

数据库概念,用于表示丢失,未知或不适用的数据。

8
为什么我们不应该允许NULL?
我记得读过一篇有关数据库设计的文章,并且我还记得它说您应该具有NOT NULL的字段属性。我不记得为什么会这样。 我似乎只能想到的是,作为应用程序开发人员,您无需测试NULL 和可能不存在的数据值(例如,字符串的空字符串)。 但是,对于日期,日期时间和时间,该怎么办(SQL Server 2008)?您必须使用一些历史性的或触底反弹的日期。 有什么想法吗?

8
即使第一个参数不为NULL,SQL Server也会读取所有COALESCE函数吗?
我正在使用T-SQL COALESCE函数,其中第一个参数在运行的大约95%的时间内不会为null。如果第一个参数为NULL,则第二个参数将是一个漫长的过程: SELECT COALESCE(c.FirstName ,(SELECT TOP 1 b.FirstName FROM TableA a JOIN TableB b ON .....) ) 例如,c.FirstName = 'John'如果SQL Server仍然可以运行子查询? 我知道使用VB.NET IIF()函数,如果第二个参数为True,则代码仍会读取第三个参数(即使不会使用)。

3
PostgreSQL多列唯一约束和NULL值
我有一个如下表: create table my_table ( id int8 not null, id_A int8 not null, id_B int8 not null, id_C int8 null, constraint pk_my_table primary key (id), constraint u_constrainte unique (id_A, id_B, id_C) ); 我想(id_A, id_B, id_C)在任何情况下都与众不同。因此,以下两个插入必须导致错误: INSERT INTO my_table VALUES (1, 1, 2, NULL); INSERT INTO my_table VALUES (2, 1, 2, …



5
为什么将ALTER COLUMN设置为NOT NULL会导致大量日志文件增长?
我有一个表,其中有64m行,其数据占用磁盘上4.3 GB的空间。 每行大约是30个字节的整数列,外加一个NVARCHAR(255)用于文本的可变列。 我添加了一个NULLABLE列,具有data-type Datetimeoffset(0)。 然后,我为每一行更新了该列,并确保所有新插入的内容在该列中都放置了一个值。 一旦没有NULL条目,我就运行以下命令使我的新字段成为必填项: ALTER TABLE tblCheckResult ALTER COLUMN [dtoDateTime] [datetimeoffset](0) NOT NULL 结果是事务日志大小从6GB大幅增加到36GB以上,直到空间用完为止! 有谁知道SQL Server 2008 R2在做什么,以使这个简单的命令取得如此巨大的增长?

7
如果一个人的名字为Null,那么它将如何破坏数据库?
我在BBC上阅读这篇文章。它讲述了一个叫珍妮弗·诺​​尔(Jenifer Null)的人的故事,以及她如何在使用在线数据库(如预订机票,网上银行等)时面对日常问题。 我并不精通数据库,因此我不经常使用它。当我创建一个网站进行学习时,服务器端表单验证使用了正则表达式。据我所知,它很乐意接受“ Null”这个名字。我还没有尝试过。 有人能解释这种情况何时发生的技术细节吗?表单验证只是做某事string == NULL还是某事?即使这样我也不认为NULL is same as "NULL"。

2
默认为NULL还是NOT NULL?
在MySQL中,除非您知道必须填写字段,否则始终允许使用null还是在Not Null您知道字段将包含null的情况下始终使用更好?还是没关系? 我知道在某些DBMS中,他们说要Not Null尽可能多地使用,因为允许空值需要每条记录额外的位(或字节?)来存储Null状态。
41 mysql  null 


3
为什么ANSI SQL将SUM(无行)定义为NULL?
的ANSI SQL标准定义(第6.5章,集功能规范),用于空的结果集的集合函数以下行为: COUNT(...) = 0 AVG(...) = NULL MIN(...) = NULL MAX(...) = NULL SUM(...) = NULL 由于未定义空集的平均值,最小值和最大值,因此对AVG,MIN和MAX返回NULL十分合理。 但是,最后一个让我感到困扰:从数学上来说,空集的SUM是定义明确的:0。使用0 (加法的中性元素)作为基本情况可以使所有内容保持一致: SUM({}) = 0 = 0 SUM({5}) = 5 = 0 + 5 SUM({5, 3}) = 8 = 0 + 5 + 3 SUM({5, NULL}) = NULL = 0 + 5 …

1
为什么NOT IN与包含NULL的集合总是返回FALSE / NULL?
我有一个查询(针对Postgres和Informix),其中NOT IN包含一个子查询,该子查询在某些情况下返回NULL值,导致该子句(和整个查询)无法返回任何内容。 理解这一点的最好方法是什么?我认为NULL这是没有价值的事情,因此并不期望查询会失败,但是显然,这不是正确的思考方式NULL。


1
PostgreSQL中的(x IS NOT NULL)与(NOT x IS NULL)
为什么x IS NOT NULL不等于NOT x IS NULL? 这段代码: CREATE TABLE bug_test ( id int, name text ); INSERT INTO bug_test VALUES (1, NULL); DO $$ DECLARE v_bug_test bug_test; BEGIN RAISE NOTICE '%: %', v_bug_test, (v_bug_test IS NULL); RAISE NOTICE '%: %', v_bug_test, (v_bug_test IS NOT NULL); RAISE NOTICE '%: %', …
16 postgresql  null 

5
测试是否有任何列为NULL
我试图找出一个简单的查询,我可以测试一个大表是否具有在ANY列中至少具有一个空白(NULL /空)值的条目列表。 我需要类似的东西 SELECT * FROM table AS t WHERE ANY(t.* IS NULL) 我不想做 SELECT * FROM table AS t WHERE t.c1 = NULL OR t.c2 = NULL OR t.c3 = NULL 这将是一个巨大的查询。

3
比较可以包含NULL的列-有没有更优雅的方法?
我知道您不能将值与NULL进行比较,而不能在不添加以下代码的情况下期望结果... SELECT * FROM A INNER JOIN B ON A.ID = B.ID WHERE A.STRING <> B.STRING OR (A.STRING IS NULL AND B.STRING IS NOT NULL) OR (A.STRING IS NOT NULL AND B.STRING IS NULL) OR A.DT <> B.DT OR (A.DT IS NULL AND B.DT IS NOT NULL) OR (A.DT IS …
16 sql-server  null 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.