mysql中的日期格式問題

2022-09-12 21:48:31 字數 1050 閱讀 4766

在mysql中,關於日期的格式有三種型別:data、datatime、timestamp

data

datatime

timestamp

儲存資料格式

yyyy-mm-dd

yyyy-mm-dd hh:mm:ss

yyyymmddhhmmss

支援的範圍

1000-01-01 到 9999-12-31

1000-01-01 00:00:00 到

9999-12-31 23:59:59

1770-01-01到2023年

特殊說明

允許使用字串或者數字來賦值。例如,12331212和『1233-12-12』的儲存結果為:1233-12-12

允許使用字串或者數字來賦值。例如,12331212121212和『1233-12-12 12:12:12』的儲存結果都為:1233-12-12 12:12:12

給該型別字段賦值時,值必須大於19700101000000,否則會拋異常。

注意:對於datatime型別:

1、自動識別時間字串:

當寫入其他時間字串時,只有資料庫識別成功才能夠寫入成功,且是想要的資料;如果識別不了的時間值,會顯示為:『000-00-00 00:00:00』

2、查詢時智慧型補全模式:

假設要查詢某天的全部資料,當在where條件後寫入where dt = 『2021-12-01』時,想要查出一天的資料時。若dt的型別是date時,則可以查出;若dt的型別是datetime時或者其他型別,則無法查出。因為在mysql中,會對時間型別進行自動補零。上面的實際語句為where dt = 『2021-12-01 00:00:00』。

要想解決上面的問題有兩種思路:

1、在service層中對傳進來的時間進行拼接(next_day + " (一定要在這個位置加乙個空格)00:00:00")

2、使用mysql中的to_days(next_day)函式,使用between and

MySQL的日期格式

mysql的五種時間和日期型別 1.給year賦值有3種方式 方式一 直接插入4位字串 1998 或者4位數字 1998 方式二 插入兩位字串 04 如果範圍是 00 69 則相當於插入 2000 2069 如果範圍是 70 99 則相當於插入 1970 1999 注 0 和 00 的效果一樣都表示...

MYSQL 日期格式

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

mysql中的時間格式為 MySQL的日期格式

mysql的五種時間和日期型別 year表示年份 位元組數為1,取值範圍為 1901 2155 date表示日期 位元組數為4,取值範圍為 1000 01 01 9999 12 31 datetime和timestamp表示日期和時間 datetime 位元組數為8,取值範圍為 1000 01 01...