MySQL 将如何根据日期“0000-00-00”返回 Year(2) 或 Year(4) 格式的年值?


假设我们在 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) 格式提供的值。

更新于: 2020-01-29

已浏览 114 次

开启你的 职业生涯

完成课程即可获得认证

立即开始
广告