検索
MYSQL 日付関数の概要Dec 04, 2017 am 11:24 AM
mysql要約する日付

日付と時刻関数は、数式内の日付値と時刻値を分析および処理するために使用される関数を指します。この記事では、MYSQL の日付関数の概要を共有します。

各型の値の範囲と日付と時刻の値を指定するための有効な形式の説明については、「7.3.6 日付と時刻の型」を参照してください。

これは日付関数を使用した例です。次のクエリは、date_col 値が過去 30 日以内のすべてのレコードを選択します:

mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col)
DAYOFWEEK(date )
Returns日付の曜日インデックス (1=日曜日、2=月曜日、...7=土曜日)。これらのインデックス値は ODBC 標準に対応しています。
mysql> select DAYOFWEEK('1998-02-03');
-> 3

WEEKDAY(date)
日付の週のインデックスを返します (0=月曜日、1=火曜日、...6=日曜日)。
mysql>select WEEKDAY('1997-10-04 22:23:00');
mysql>select WEEKDAY('1997-11-05'); )
date の月の日を 1 から 31 の範囲で返します。
mysql> select DAYOFMONTH('1998-02-03');
-> 3

DAYOFYEAR(date)
date の年の日数を 1 から 366 の範囲で返します。
mysql> select DAYOFYEAR('1998-02-03');
-> 34

MONTH(date)
1 から 12 までの日付の月を返します。
mysql> select MONTH('1998-02-03');

DAYNAME(date)
日付の曜日名を返します。
mysql> select DAYNAME("1998-02-05");
-> '木曜日'

MONTHNAME(date)
日付の月名を返します。
mysql> select MONTHNAME("1998-02-05");
-> 'April'

QUARTER(date)
1 から 4 の範囲の日付を返します。
mysql> select QUARTER('98-04-01');
-> 2

WEEK(date)

WEEK(date,first)
日曜日が週の最初の日である場所には、単一パラメータは、日付の週番号を 0 ~ 52 の範囲で返します。 2 引数形式 WEEK() を使用すると、週が日曜日から始まるか月曜日から始まるかを指定できます。 2 番目の引数が 0 の場合、週は日曜日から始まり、2 番目の引数が 1 の場合、
は月曜日から始まります。
mysql>select WEEK('1998-02-20');
->select WEEK('1998) -02-20',1);
-> 8

YEAR(date)
1000 から 9999 の範囲の日付の年を返します。
mysql> select YEAR('98-02-03');
-> 1998

HOUR(time)
時間を 0 から 23 まで返します。
mysql> select HOUR('10:05:03');
-> 10

MINUTE(time)
0 から 59 までの分を返します。
mysql> select MINUTE('98-02-03 10:05:03');
-> 5

SECOND(time)
0 から 59 までの秒数を返します。
mysql> select SECOND('10:05:03');
-> 3

PERIOD_ADD(P,N)
フェーズ P に N か月を追加します (YYMM または YYYYMM の形式)。 YYYYMM 形式で値を返します。位相パラメータ P は日付値ではないことに注意してください。
mysql> select PERIOD_ADD(9801,2);
-> 199803

PERIOD_DIFF(P1,P2)
期間 P1 と P2 の間の月数を YYMM または YYYYMM の形式で返します。期間パラメータ P1 および P2 は日付値ではないことに注意してください。
mysql> select PERIOD_DIFF(9802,199703);
->

DATE_ADD(date,INTERVAL expr type)

ADDDATE(date,INTERVAL expr type) )

サブデート( date,INTERVAL expr type)
これらの関数は日付操作を実行します。 MySQL 3.22 の時点では、これらは新しいものです。 ADDDATE() と SUBDATE() は、DATE_ADD() と DATE_SUB() の同義語です。
MySQL 3.23 では、DATE_ADD() と DATE_SUB() の代わりに + と - を使用できます。 (例を参照) date は開始日を指定する
DATETIME または DATE 値、expr は開始日から加算または減算される間隔値を指定する式、expr は
で終わる文字列です。 - 」は負の間隔を示し始めます。 type は、式をどのように解釈するかを指定するキーワードです。 EXTRACT(type FROM date) 関数は、日付
から「type」間隔を返します。次の表は、type パラメータと expr パラメータの関係を示しています。 type 値 意味 期待される expr 形式
SECOND 秒 SECONDS
MINUTE 分 MINUTES
HOUR time HOURS
DAY days
MONTH months MONTHS
YEAR year YEARS
MINUTE_SECOND 分と秒 "MINUTES " :SECONDS"
HOUR_MINUTE 時と分 "HOURS:MINUTES"
DAY_HOUR 日と時間 "DAYS HOURS"
YEAR_MONTH 年と月 "YEARS-MONTHS"
HOUR_SECOND 時、分、 "HOURS:MINUTES:SECONDS"
DAY_MINUTE 日、時、分 "DAYS HOURS:MINUTES"
DAY_SECOND 日、時、分、秒 "DAYS HOURS:MINUTES:SECONDS"

MySQL では、expr 形式の句読点区切り文字を使用できます。推奨される区切り文字が表示されることを示します。日付パラメータが DATE 値で、計算が単に
の場合YEAR、MONTH、DAY コンポーネントが含まれ (つまり、時間コンポーネントは含まれません)、結果は DATE 値になります。それ以外の場合、結果は DATETIME 値になります。

mysql> SELECT "1997-12-31 23:59:59" + 間隔 1 日 + "1998-01-01
mysql>"; - 間隔 1 秒; 1997-12-31 23:59:59
MYSQL> 01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 DAY)
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL "1:1" MINUTE_SECOND);
->1998-01-01 00:01:00
SELECT DATE_SUB("1998-01 -01 00:00:00",
INTERVAL "1 1:1:1" DAY_SECOND);
->1997- 12-30 22:58:59
mysql>SELECT DATE_ADD("1998-01-01 00: 00:00",
INTERVAL "-1 10" DAY_HOUR);
->1997-12-30 14:00:00
mysql>SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
- > 1997-12-02
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02")
-> 1999
MYSQL> ;
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03"); 指定した間隔が短すぎる場合type キーワードによって予期される)、MySQL は間隔値の左端の部分が省略されたと想定します。たとえば、
DAY_SECOND のタイプを指定した場合、値 expr には日、時、分、秒のコンポーネントが含まれることが期待されます。 「1:10」のような値を指定すると、
MySQL は日と時間の部分が欠落しており、値が分と秒を表すものとみなします。言い換えれば、「1:10」DAY_SECOND は「1:10」MINUTE_SECOND
と同等であるように解釈されます。これは、MySQL が TIME 値を時間ではなく経過時間を表すように解釈する方法にとって曖昧です。日。本当に間違った日付を使用した場合、
結果は NULL になります。 MONTH、YEAR_MONTH、または YEAR を増分し、結果の日付が新しい月の最大日数を超える場合、日数は新しい月の最大日数に調整されます。

mysql> select DATE_ADD('1998-01-30', Interval 1 month);
-> 1998-02-28

前の例では、単語 INTERVAL と type キーワードは大文字と小文字を区別しないことに注意してください。 。
TO_DAYS(日付)
日付を指定して、日数 (0 年からの日数) を返します。
mysql> select TO_DAYS(950501);
-> 728779
-> 729669

TO_DAYS() は Greg で使用することを目的としていません。オリアン暦 (1582 年) ) が値の前に表示されます。

FROM_DAYS(N)
日数 N を指定すると、DATE 値を返します。
mysql> select FROM_DAYS(729669);
-> '1997-10-07'

TO_DAYS() は、グレゴリオ暦 (1582 年) の出現以前の値で使用することを意図していません。

DATE_FORMAT(date,format)
フォーマット文字列に従って日付値をフォーマットします。フォーマット文字列では次の修飾子を使用できます: %M 月名 (1 月...12 月)
%W 週名 (日曜日...土曜日)
%D 英語の接頭辞が付いた月の日 (1 日、2 日、3 日) 、など)
%Y 年、数字、4 桁
%y 年、数字、2 桁
%a 週の短縮名 (Sun...Sat)
%d 月の日数、数字 (00 ...31)
%e 月の日数、数値 (0...31)
%m 月、数値 (01...12)
%c 月、数値 (1...12)
%b 月の省略名 (1 月...12 月)
%j 年間の日数 (001…366)
%H 時間 (00…23)
%k 時間 (0…23)
%h 時間 (01) …12)
%I 時間 (01...12)
%l 時間 (1...12)
%i 分、数字 (00...59)
%r 時間、12 時間 (hh:mm: ss [AP]M)
%T 時間、24 時間 (hh:mm:ss)
%S 秒 (00……59)
%s 秒 (00……59)
%p AM または PM
%w週の日数 (0=日曜日… 6=土曜日)
%U 週(0……52)、ここでは日曜日が週の最初の日です
%u 週(0……52)、ここでは月曜日がその日です週の最初の日
%% テキスト「%」。

他のすべての文字は解釈されずに結果にコピーされます。

mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y'); '1997 年 10 月土曜日'
mysql> 04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j'); '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00') ,
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
MySQL3.23 では、 format % は修飾文字の前に必要です。 MySQL の以前のバージョンでは、% はオプションでした。

TIME_FORMAT(time,format)
これは上記の DATE_FORMAT() 関数と同様に使用されますが、フォーマット文字列には、時、分、秒を処理するフォーマット修飾子のみを含めることができます。
他の修飾子は NULL 値または 0 を生成します。
CURDATE()

CURRENT_DATE
関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、今日の日付値を「YYYY-MM-DD」または YYYYMMDD 形式で返します。
mysql>select CURDATE(); '1997-12-15'

CURTIME()
CURRENT_TIME
「HH:MM:SS」関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、現在の時刻値を返すには HHMMSS 形式が使用されます。
mysql> select CURTIME(); '23:50:26'

NOW()

CU RRENT_TIMESTAMP
と' 関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、現在の日付と時刻を YYYY-MM-DD HH:MM:SS' または YYYYMMDDHHMMSS 形式で返します。
mysql> select NOW(); '1997-12-15 23:50:26'

UNIX_TIMESTAMP;

UNIX_TIMESTAMP(日付)
引数なしで呼び出された場合は、Unix タイムスタンプ (「1970-01-01 00:00:00」GMT からの秒数) を返します。 UNIX_TIMESTAMP() が日付引数を指定して呼び出された場合、「1970-01-01 00:00:00」GMT からの秒数が返されます。 date には、DATE 文字列、DATETIME 文字列、TIMESTAMP、または YYMMDD または YYYYMMDD 形式の現地時間の数値を指定できます。
mysql> select UNIX_TIMESTAMP();
-> 882226357
mysql> TIMESTAMP 列で関数の値が使用され、暗黙的な「文字列から Unix タイムスタンプ」への変換が行われません。

FROM_UNIXTIME(unix_timestamp)
関数が文字列
で使用されるか数値コンテキストで使用されるかに応じて、unix_timestamp パラメーターで表される値を 'YYYY-MM-DD HH:MM:SS' または YYYYMMDDHHMMSS 形式で返します。
mysql>select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
->19971004 222300

FROM_UNIXTIME(unix_timestamp,format)
フォーマット文字列に従ってフォーマットされた Unix タイムスタンプを表す文字列を返します。 format には、DATE_FORMAT() 関数にリストされているのと同じ修飾子を含めることができます。
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');

SEC_TO_TIME(秒)
関数が文字列コンテキストで使用されるか数値コンテキストで使用されるかに応じて、値は「HH:MM:SS」または HHMMSS でフォ​​ーマットされ、秒パラメーターを返します。 &Mysql & GT; 性別を選択 (2378);
- & gt; '00: 39: 38 '
性別を選択 (2378) + 0; 回 時間パラメータを返します。
mysql> select TIME_TO_SEC('22:23:00');
->select TIME_TO_SEC('00:39:38');


SQLの日付関数の概要。皆さんのお役に立てば幸いです。

関連する推奨事項:


日付関数と関数カプセル化の柔軟な使用



一般的に使用される mysql 日付関数



MYSQL 日付関数コレクション

以上がMYSQL 日付関数の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール