簡體   English   中英

為什么日期字段存儲為不同的值然后為null

[英]Why date field is stored with different value then null

我在程序中實現了一些程序,這些程序為我提供了您在下面看到的查詢行(恢復的數據)。 mysql表中的日期字段設置為默認null,除日期字段外,所有行均插入良好

INSERT INTO `stockdata` VALUES(4,6,'',0,1,'2014-01-01','STOCK2013',8.13,0,0,2990,0,0,'STOCK REEL 2013','',1,'2014-02-18 01:10:04',0,'')

這是我進入數據庫的方式,日期字段中有0000/00/00 00:00:00(最后一個字段'')

4, 6, '', 0, 1, '2014-01-01', 'STOCK2013', 8.13, 0, 0, 2990, 0, 0, 'STOCK REEL 2013', '', 1, '2014-02-18 01:10:04', 0, '0000-00-00 00:00:00' // taken by Mysqlquery Browser 1.1.20 however when I look with phpmyadmin or within my program there is always 0000/00/00 00:00:00

查詢中獲得的空值定義為公共類

 public DateTime? MyNullableDate = null;

但是,當我使用帶有字段名稱的查詢並且將日期字段留空時,表中將看到空值。

這是將null值傳遞給date字段的唯一方法嗎? 我將XAMPP用於本地主機,將Godaddy服務器用於共享數據。

這是我什至無法獲取空日期字段的sqlfiddle。

Sqlfiddle

NULL永遠不等於任何東西,甚至不等於本身。

因此,要獲取為空的值,請使用IS NULL

SELECT * FROM stockdata WHERE up_date is null

小提琴

似乎您將數據添加為“”,這意味着該值為“空”而不是null,是否已經嘗試插入NULL而不是“”?

INSERT INTO `stockdata` VALUES(4,6,'',0,1,'2014-01-01','STOCK2013',8.13,0,0,2990,0,0,'STOCK REEL 2013','',1,'2014-02-18 01:10:04',0,NULL)

但我認為最好保留默認值:

INSERT INTO `stockdata` VALUES(4,6,'',0,1,'2014-01-01','STOCK2013',8.13,0,0,2990,0,0,'STOCK REEL 2013','',1,'2014-02-18 01:10:04',0,DEFAULT)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM