mysql時區與時間函式
–在mysql中可以直接使用sleep()函式,sysdate函式返回的是執行到當前函式的時間,而now函式返回的是執行sql的時間
mysql> SELECT now(),SYSDATE(), SLEEP(2),now(), sysdate() from dual;
+———————+———————+———-+———————+———————+
| now() | SYSDATE() | SLEEP(2) | now() | sysdate() |
+———————+———————+———-+———————+———————+
| 2015-05-29 14:19:43 | 2015-05-29 14:19:43 | 0 | 2015-05-29 14:19:43 | 2015-05-29 14:19:45 |
+———————+———————+———-+———————+———————+
1 row in set (2.00 sec)
–在mysql中不能對日期直接進行加減,要使用date_add,date_sub函式
mysql> select now(),date_add(now(),interval 1 day) as tomorrow,date_sub(now(),interval 1 daY) as yerterday,date_sub(now(),interval -1 day) yesterday2
from dual;
+———————+———————+———————+———————+
| now() | tomorrow | yerterday | yesterday2 |
+———————+———————+———————+———————+
| 2015-05-29 14:40:52 | 2015-05-30 14:40:52 | 2015-05-28 14:40:52 | 2015-05-30 14:40:52 |
+———————+———————+———————+———————+
1 row in set (0.00 sec)
–mysql中weekday從週一開始計算,但週一為0,dayofweek從週日開始計算,從1開始
mysql> select weekday(@a),dayofweek(@a),dayname(@a);
+————-+—————+————-+
| weekday(@a) | dayofweek(@a) | dayname(@a) |
+————-+—————+————-+
| 4 | 6 | Friday |
+————-+—————+————-+
–格式化日期函式,獲取日期時間型別與timestamp的不同
mysql> select date_format(`2015-10-01 23:59:59`,`%Y-%m-%d %H:%i:%s`);
select from_unixtime(date_format(`2015-10-01 23:59:59`,`%Y-%m-%d %H:%i:%s`));
select timestamp(`2015-10-01 23:59:59`);
select date_format(`2015-10-01 23:59:59`,`%Y-%m-%d %H:%i:%s`) from dual where now()>date_format(`2015-10-01 23:59:59`,`%Y-%m-%d %H:%i:%s`);
–修改時區,則相應的時間函式會返回不同的值
This includes the values displayed by functions such as NOW() or CURTIME(), and values stored in and retrieved from TIMESTAMP columns、
The current time zone setting does not affect values displayed by functions such as UTC_TIMESTAMP() or values in DATE, TIME, or DATETIME columns
mysql> SELECT NOW();
+———————+
| NOW() |
+———————+
| 2016-02-03 09:46:33 |
+———————+
1 row in set (0.00 sec)
mysql> set time_zone=`+07:00`;
Query OK, 0 rows affected (0.00 sec)
–時間改變
mysql> SELECT NOW();
+———————+
| NOW() |
+———————+
| 2016-02-03 08:46:35 |
+———————+
1 row in set (0.00 sec)
–將一個時區的時間轉換成另一個時區的時間
mysql> SELECT CONVERT_TZ(`2004-01-01 12:00:00`,`+00:00`,`+10:00`);
+—————————————————–+
| CONVERT_TZ(`2004-01-01 12:00:00`,`+00:00`,`+10:00`) |
+—————————————————–+
| 2004-01-01 22:00:00 |
+—————————————————–+
1 row in set (0.00 sec)
–如果以下查詢結果是null,則時區資訊表裡資料為空
mysql> SELECT CONVERT_TZ(`2004-01-01 12:00:00`,`GMT`,`MET`);
+———————————————–+
| CONVERT_TZ(`2004-01-01 12:00:00`,`GMT`,`MET`) |
+———————————————–+
| 2004-01-01 13:00:00 |
+———————————————–+
1 row in set (0.00 sec)
mysql> SELECT COUNT(*) FROM mysql.time_zone_name;
+———-+
| COUNT(*) |
+———-+
| 0 |
+———-+
1 row in set (0.00 sec)
–匯入時區資訊到資料庫表中
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p123456 mysql
–檢視資料庫的時區,如果 time_zone = SYSTEM ,則資料庫的時區與作業系統相關
The operating system time affects the value that the MySQL server uses for times if its time zone is set to SYSTEM
mysql> show variables like `%time_zone%`;
+——————+——–+
| Variable_name | Value |
+——————+——–+
| system_time_zone | CST |
| time_zone | SYSTEM |
+——————+——–+
— lc_time_names 變數控制著星期,月,日的顯示方式
The locale indicated by the lc_time_names system variable controls the language used to display day and month names and abbreviations.
This variable affects the output from the DATE_FORMAT(),DAYNAME(), and MONTHNAME() functions.
lc_time_names does not affect the STR_TO_DATE() or GET_FORMAT() function
mysql> SELECT @@lc_time_names;
+—————–+
| @@lc_time_names |
+—————–+
| en_US |
+—————–+
1 row in set (0.00 sec)
mysql> SELECT DATE_FORMAT(`2010-01-01`,`%W %a %M %b`);
+—————————————–+
| DATE_FORMAT(`2010-01-01`,`%W %a %M %b`) |
+—————————————–+
| Friday Fri January Jan |
+—————————————–+
1 row in set (0.00 sec)
相關文章
- MySQL時間函式MySql函式
- mysql中的時間函式MySql函式
- MySQL日期時間函式大全MySql函式
- mysql幾個時間函式MySql函式
- MySQL 日期時間函式大全MySql函式
- 使用mysql日期與時間函式輕易搞定日期與時間邏輯MySql函式
- 時間函式:與時間相關那些事。。。函式
- MySQL 的日期和時間函式MySql函式
- 時間函式函式
- MySQL日期和時間函式彙總MySql函式
- mysql資料庫時間戳函式MySql資料庫時間戳函式
- mysql日期和時間函式學習MySql函式
- 常用函式--時間函式函式
- PHP 時間函式PHP函式
- 日期時間函式函式
- oracle時間函式Oracle函式
- Sql時間函式SQL函式
- WPS表格日期與時間函式函式
- MySql 時間比較:DATEDIFF函式與大於小於號MySql函式
- Golang時間函式及測試函式執行時間案例Golang函式
- oracle 時間函式sysdateOracle函式
- Oracle 時間函式NumToYMInterval()Oracle函式
- 時間函式對比函式
- Teradata 時間函式函式
- 時間處理函式函式
- Clickhouse 時間日期函式函式
- ECS設定時區與時間
- MySql-時期函式MySql函式
- 探索MySQL高階語句(數學函式、聚合函式、字串函式、日期時間函式)MySql函式字串
- T-SQL——函式——時間操作函式SQL函式
- 時間戳與時間字串的多時區轉換時間戳字串
- javascript和PHP及MYSQL時間格式化函式JavaScriptPHPMySql函式
- MySQL 5.7關於日期和時間的函式整理MySql函式
- SPL 的日期時間函式函式
- ORACLE日期時間函式大全Oracle函式
- SQLServer時間日期函式速查SQLServer函式
- C語言時間函式C語言函式
- ORACLE 時間與時區(Time and Time Zone)Oracle