この記事では、mysql に関する関連知識を提供します。主に、システム時刻関数の取得や日付書式設定関数など、MySQL の日付関数を紹介します。一緒に学びましょう。ぜひご覧ください。皆さんのお役に立てれば幸いです。 。
推奨学習: mysql ビデオ チュートリアル
"NOW()" 関数現在のシステムの日付と時刻を次の形式で取得できます: "YYYY-MM-DD hh:mm:ss" (時間単位は 24 時間制です)
"CURDATE()" 関数は次の形式で取得できます。現在のシステムの日付と時刻を取得します。日付の形式は次のとおりです: "YYYY-MM-DD"
「CURTIME()」関数は現在のシステム時刻を取得できます。形式は次のとおりです: "hh :mm:ss" (24 時間形式)
SELECT NOW(); -- 返回结果 "2020-06-10 17:22:51" (示例)
SELECT CURDATE(); -- 返回结果 "2020-06-10"
SELECT CURTIME(); -- 返回结果 "17:22:52"
「DATE_FORMAT()」関数は日付の書式設定に使用され、非常に有用な日付情報を抽出するのに役立ちます
構文は次のとおりです:
DATE_FORMAT(日付, 式)
SELECT ename, DATE_FORMAT(hiredate,"%Y") AS "入职日期" FROM t_emp;
関数 | プレースホルダー | 関数 | |
---|---|---|---|
年 | %m | Month | |
Date | %w | Week (数値) - ( 0 は日曜日) | |
週 (名前) - (英語) | %j | 年間通算日 | |
今年の週数 | %H | hours(24) | |
時間 (12) | %i | 分 | |
秒 | %r | 時間(24) | |
時間(12) |
SELECT DATE_FORMAT("2018-01-01","%W"); -- 返回结果为 "Monday"日付関数の演習「日付関数」を使用して、1981 年上半期に会社に入社した従業員の数をクエリします。
SELECT COUNT(*) FROM t_emp WHERE DATE_FORMAT(hiredate,"%Y") = 1981 AND DATE_FORMAT(hiredate,"%m") <= 6;日付計算に関する注意事項MySQL では、2 つの日付を直接加算または減算することはできず、同時に日付を加算または減算することもできません。数字。 その理由は、日付は特別な計算単位であり、基数が通常の小数とは異なるためです。 日付を使用して構文エラーを発生させずに「1」の演算を実行しますが、得られる結果は純粋な数値であり、必要な日付形式の結果ではありません。 (例は以下の通り)
SELECT ename, hiredate, hiredate+1 FROM t_emp;日付オフセット計算DATE_ADD()関数は日付オフセット計算を実装することができ、時間単位の処理において、相対的にフレキシブル。 構文は次のとおりです:
SELECT DATE_ADD("原始日期", INTERVAL, 偏移量, 时间单位) -- INTERVAL 是 关键字"DATE_ADD() 関数" デモのケースは次のとおりです
SELECT DATE_ADD(NOW(), INTERVAL 10 DAY); -- 得到的结果为 10 天 之后的日期时间
SELECT DATE_ADD(NOW(), INTERVAL -500 MINUTE); -- 得到的结果为 500 分钟 之前的日期时间
SELECT DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY); -- 得到的结果为 6 个月 3 天 之前的日期时间
SELECT DATE_FORMAT( DATE_ADD(DATE_ADD(NOW(), INTERVAL -6 MONTH), INTERVAL -3 DAY) , "%Y-%m-%d") AS DATE; -- 返回 "%Y-%m-%d" 格式结果日付間の日数を計算しますDATEDIFF() 関数が使用されます。2 つの日付の間の日数を計算するには、構文は次のとおりです。
DATEDIFF("date", "date") #Query 年収15,000を超える10部署 勤続20年以上の社員の情報。
SELECT empno, ename, sal, hiredate FROM t_emp WHERE deptno = 10 AND (sal + IFNULL(comm,0)) * 12 >=15000 AND DATEDIFF(NOW(),hiredate)/365 >= 20 -- IFNULL(expr1,expr2):IFNULL 函数的语法,当第一个参数的值为null 的时候,则返回第二个参数的值 -- DATEDIFF(expr1,expr2):DATEDIFF 函数的语法,计算第一个日期与第二个日期的偏差时间差 -- NOW():NOW 函数可以获得当前日期
推奨学習:
mysql ビデオ チュートリアル以上がMySQL学習におけるdate関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。