MySQL 中 CAST as DATE?


MySQL 中的 cast as Date 和 date() 函式之間沒有區別。

cast() 和 date() 的語法如下 −

cast(yourDateTimeColumnName as Date)
date(yourDateTimeColumnName)

這兩個函式在內部呼叫 Item_date_typecast。為了檢查這兩個函式,我們建立一個表。建立表的查詢如下 −

mysql> create table CastAsDateDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> ArrivalTime datetime,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.71 sec)

現在,可以使用 insert 命令在表中插入一些記錄。查詢如下 −

mysql> insert into CastAsDateDemo(ArrivalTime) values('2014-1-13 13 −45 −46');
Query OK, 1 row affected (0.16 sec)

mysql> insert into CastAsDateDemo(ArrivalTime) values('2016-4-11 10 −30 −31');
Query OK, 1 row affected (0.48 sec)

mysql> insert into CastAsDateDemo(ArrivalTime) values('2019-1-9 19 −17 −49');
Query OK, 1 row affected (0.13 sec)

mysql> insert into CastAsDateDemo(ArrivalTime) values(date_add(now(),interval 2 day));
Query OK, 1 row affected (0.15 sec)

使用 select 語句從表中顯示所有記錄 −

mysql> select *from CastAsDateDemo;

以下是輸出 −

+----+----------------------+
| Id | ArrivalTime          |
+----+----------------------+
| 1  |2014-01-13 13 −45 −46 |
| 2  |2016-04-11 10 −30 −31 |
| 3  |2019-01-09 19 −17 −49 |
| 4  |2019-01-11 19 −17 −59 |
+----+---------------------+
4 rows in set (0.00 sec)

以下是使用 cast() 進行日期轉換的查詢 −

mysql> select cast(ArrivalTime as Date) as only_Date from CastAsDateDemo;

以下是輸出 −

+------------+
| only_Date  |
+------------+
| 2014-01-13 |
| 2016-04-11 |
| 2019-01-09 |
| 2019-01-11 |
+------------+
4 rows in set (0.00 sec)

以下是使用 date() 進行日期轉換的查詢。查詢如下 −

mysql> select date(ArrivalTime) as only_Date from CastAsDateDemo;

以下是輸出 −

+------------+
| only_Date  |
+------------+
| 2014-01-13 |
| 2016-04-11 |
| 2019-01-09 |
| 2019-01-11 |
+------------+
4 rows in set (0.00 sec)

更新時間:2019-07-30

420 次觀看

開啟你的職業

透過完成課程獲得認證

開始
廣告