ホームページ > データベース > mysql チュートリアル > MySQL学習におけるdate関数の使い方を詳しく解説

MySQL学習におけるdate関数の使い方を詳しく解説

WBOY
リリース: 2022-08-15 20:19:07
転載
1945 人が閲覧しました

この記事では、mysql に関する関連知識を提供します。主に、システム時刻関数の取得や日付書式設定関数など、MySQL の日付関数を紹介します。一緒に学びましょう。ぜひご覧ください。皆さんのお役に立てれば幸いです。 。

MySQL学習におけるdate関数の使い方を詳しく解説

推奨学習: 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;
ログイン後にコピー

##プレースホルダー関数プレースホルダー関数%Y年%mMonth%dDate%wWeek (数値) - ( 0 は日曜日)%W週 (名前) - (英語)%j年間通算日%U今年の週数%Hhours(24)%h時間 (12)%i分%s秒%r時間(24)%T時間(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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート