mysql日期教程 mysql中的日期和時間

2021-10-18 11:30:17 字數 1096 閱讀 3978

伺服器資料庫5.5,本地5.7在講遠端伺服器匯入到本地操作的時候,一直在date上報invalid value,最後定位在這樣的語句上created_at date no null default '0000-00-00 00:00:00',這裡涉及到兩個問題:

date日期的格式

伺服器sql-model

正是因為5.7版本對安全方面加強了很多,所以預設的sql-model中有no_zero_date,所以導致在插入和設定時,不符合或無效的值不會自動轉為'0', 不同的日期型別對應不同的'0',date對應的是0000-00-00。

mysql中共有5種時間型別

year

date

time

datetime

timestamp

注:每種型別都有乙個有效的範圍,當給某型別設定乙個無效值的時候,mysql會自動設定為「0」;timestamp類可以自動更新其時間(前提是sql-model中不包含『no_zero_date』)。

應用場景

date 適用於只使用日期而不使用時間部分, 顯示格式yyyy-mm-dd,有效範圍1000-01-01到9999-12-31

datetime 適用於包含日期和時間的場景,顯示格式yyyy-mm-dd hh:mm:ss,有效範圍1000-01-01 00:00:00到9999-12-31 23:59:59

timestamp 使用於包含日期和時間的場景,顯示格式yyyy-mm-dd hh:mm:ss,有效範圍1970-01-01 00:00:01到2038-01-19 03:14:07utc,客戶端時間會 根據時區自動轉換

注:datetime和timestamp都可以新增6位分數部分來支援微妙精度,如2016-10-19 12:27: 33.999999

常用型別

datetime和timestamp對很多程式都能工作,但是某些場景下,卻有優劣之分。datetime將時間封裝在yyyymmddhhmmss的整數中,與時區無關,並使用8個位元組空間;timestamp使用4個位元組,所以它的範圍更短,如上所述,並且和時區緊密相關,同時timestamp會自動更新,列缺省屬性也是not null.

注:將unix時間儲存為整數,不會帶來任何收益,通常不建議這樣做。

mysql取出日期部分 mysql中取日期的一部分

根據format字串格式化date值。下列修飾符可以被用在format字串中 m 月名字 january december w 星期名字 sunday saturday d 有英語字首的月份的日期 1st,2nd,3rd,等等。y 年,數字,4 位 y 年,數字,2 位 a 縮寫的星期名字 sun ...

mysql發布日期 mysql 日期

資料型別 資料型別 格式date yyyy mm dd datetime yyyy mm dd hh mm ss timestamp yyyy mm dd hh mm ss year yyyy 或 yy 具體實現的函式 1 now 返回當前的日期和時間 select now 2 curdate 返回...

mysql間隔日期 MySQL中判斷日期間隔的方法

mysql中查詢一定時間間隔內的資料的方法比較常用,可以使用to days date sub等函式來實現。to days函式的作用是返回指定日期從0年開始計算的天數。date sub函式的作用是通過指定日期減去指定間隔時間。從而可以實現今天 昨天 最近7天 一周 最近30天 1個月 上個月等等查詢方...