MySQL 会以哪种格式 Year(2) 或 Year(4) 返回日期'0000-00-00'的年份值?
mysqlmysqli database更新于 2023/12/7 5:56:00
假设我们在 MySQL 表中将日期值存储为 ‘0000-00-00’,那么从此类日期中提取年份值时,MySQL 将返回 0。它既不是 Year(2) 格式,也不是 Year(4) 格式。为了理解它,我们使用来自 ‘detail_bday’ 表的以下数据 −
mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name | Birth_Date | +----+---------+------------+ | 1 | Saurabh | 1990-05-12 | | 2 | Raman | 1993-06-11 | | 3 | Gaurav | 1984-01-17 | | 4 | Rahul | 1993-06-11 | | 5 | Sonia | 1993-11-31 | | 6 | Ram | 0000-00-00 | +----+---------+------------+ 6 rows in set (0.00 sec)
现在,以下查询将尝试从日期"0000-00-00"中获取年份值 −
mysql> Select Year(Birth_date) from detail_bday Where Name = 'Ram'; +------------------+ | Year(Birth_date) | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec)
上述结果集显示 MySQL 返回 0,而不是以 Year(2) 或 Year(4) 格式给出值。