検索
ホームページデータベースmysql チュートリアルMYSQL 日付関数の完全なコレクション

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

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

mysql> SELECT something FROM table 
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;


DAYOFWEEK(date)
日付の週インデックスを返します (1= 日曜日、2= 月曜日、…7= 土曜日)。これらのインデックス値は ODBC 標準に対応しています。

mysql> select DAYOFWEEK(&#39;1998-02-03&#39;);  
-> 3


WEEKDAY(date)
日付の週インデックスを返します (0=月曜日、1=火曜日、...6=日曜日)。

mysql> select WEEKDAY(&#39;1997-10-04 22:23:00&#39;);  
-> 5  
mysql> select WEEKDAY(&#39;1997-11-05&#39;);  
-> 2


DAYOFMONTH(date)
date の月の日を 1 から 31 の範囲で返します。

mysql> select DAYOFMONTH(&#39;1998-02-03&#39;);  
-> 3


DAYOFYEAR(日付)
年間通算日を 1 ~ 366 の範囲で返します。

mysql> select DAYOFYEAR(&#39;1998-02-03&#39;);  
-> 34


MONTH(date)
日付の月を 1 から 12 の範囲で返します。

mysql> select MONTH(&#39;1998-02-03&#39;);  
-> 2


DAYNAME(date)
日付の曜日名を返します。

mysql> select DAYNAME("1998-02-05");  
-> &#39;Thursday&#39;


MONTHNAME(date)
日付の月名を返します。

mysql> select MONTHNAME("1998-02-05");  
-> &#39;February&#39;


QUARTER(date)
1 年の四半期を 1 から 4 の範囲で返します。

mysql> select QUARTER(&#39;98-04-01&#39;);  
-> 2


WEEK(date)

WEEK(date,first)
日曜日が週の最初の日である場所の場合、日付の週番号を 0 ~ 52 の範囲で返す単一のパラメーターがあります。 2パラメーター形式 WEEK() を使用すると、週が日曜日または月曜日のどちらで始まるかを指定できます。 2 番目の引数が 0 の場合、週は日曜日から始まり、2 番目の引数が 1 の場合、
は月曜日から始まります。

mysql> select WEEK(&#39;1998-02-20&#39;);  
-> 7  
mysql> select WEEK(&#39;1998-02-20&#39;,0);  
-> 7  
mysql> select WEEK(&#39;1998-02-20&#39;,1);  
-> 8

YEAR(date)
date の年を 1000 から 9999 の範囲で返します。

mysql> select YEAR(&#39;98-02-03&#39;);  
-> 1998


HOUR(時間)
0 から 23 の範囲の時間を返します。

mysql> select HOUR(&#39;10:05:03&#39;);  
-> 10

MINUTE(time)

時間の分を 0 ~ 59 の範囲で返します。

mysql> select MINUTE(&#39;98-02-03 10:05:03&#39;);  
-> 5

SECOND(time)
時間の秒数を 0 ~ 59 の範囲で返します。

mysql> select SECOND(&#39;10:05:03&#39;);  
-> 3

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

mysql> select PERIOD_ADD(9801,2);  
-> 199803

PERIOD_DIFF(P1,P2)
期間 P1 と P2 の間の月数を返します。P1 と P2 は YYMM または YYYYMM の形式である必要があります。期間パラメータ P1 および P2 は日付値ではないことに注意してください。

mysql> select PERIOD_DIFF(9802,199703);  
-> 11
 
DATE_ADD(date,INTERVAL expr type)  
   
DATE_SUB(date,INTERVAL expr type)  
   
ADDDATE(date,INTERVAL expr type)  
   
SUBDATE(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 引数が DATE 値で、計算に YEAR、MONTH、DAY コンポーネントのみが含まれる (つまり、時間コンポーネントが含まれない) 場合、結果は DATE 値になります。それ以外の場合、結果は DATETIME 値になります。


mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;  
-> 1998-01-01 00:00:00  
mysql> SELECT INTERVAL 1 DAY + "1997-12-31";  
-> 1998-01-01  
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;  
-> 1997-12-31 23:59:59  
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",  
INTERVAL 1 SECOND);  
-> 1998-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  
mysql> 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> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");  
-> 199907  
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");  
-> 20102

短すぎる間隔値を指定した場合 (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(&#39;1998-01-30&#39;, Interval 1 month);  
-> 1998-02-28

 
注意,从前面的例子中词INTERVAL和type关键词不是区分大小写的。  
TO_DAYS(date)  
给出一个日期date,返回一个天数(从0年的天数)。  

mysql> select TO_DAYS(950501);  
-> 728779
mysql> select TO_DAYS(&#39;1997-10-07&#39;);  
-> 729669

 
TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。  
 
FROM_DAYS(N)  
给出一个天数N,返回一个DATE值。  

mysql> select FROM_DAYS(729669);  
-> &#39;1997-10-07&#39;

 
TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。  
 
DATE_FORMAT(date,format)  
根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)  
%W 星期名字(Sunday……Saturday)  
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)  
%Y 年, 数字, 4 位  
%y 年, 数字, 2 位  
%a 缩写的星期名字(Sun……Sat)  
%d 月份中的天数, 数字(00……31)  
%e 月份中的天数, 数字(0……31)  
%m 月, 数字(01……12)  
%c 月, 数字(1……12)  
%b 缩写的月份名字(Jan……Dec)  
%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=Sunday ……6=Saturday )  
%U 星期(0……52), 这里星期天是星期的第一天  
%u 星期(0……52), 这里星期一是星期的第一天  
%% 一个文字“%”。  
 
所有的其他字符不做解释被复制到结果中。  
 

mysql> select DATE_FORMAT(&#39;1997-10-04 22:23:00&#39;, &#39;%W %M %Y&#39;);  
-> &#39;Saturday October 1997&#39; 
mysql> select DATE_FORMAT(&#39;1997-10-04 22:23:00&#39;, &#39;%H:%i:%s&#39;);  
-> &#39;22:23:00&#39; 
mysql> select DATE_FORMAT(&#39;1997-10-04 22:23:00&#39;,  
&#39;%D %y %a %d %m %b %j&#39;);  
-> &#39;4th 97 Sat 04 10 Oct 277&#39; 
mysql> select DATE_FORMAT(&#39;1997-10-04 22:23:00&#39;,  
&#39;%H %k %I %r %T %S %w&#39;);  
-> &#39;22 22 10 10:23:00 PM 22:23:00 00 6&#39;

MySQL3.23中,在格式修饰符字符前需要%。在MySQL更早的版本中,%是可选的。  
 
TIME_FORMAT(time,format)  
这象上面的DATE_FORMAT()函数一样使用,但是format字符串只能包含处理小时、分钟和秒的那些格式修饰符。
其他修饰符产生一个NULL值或0。  
CURDATE()  
   
CURRENT_DATE
以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。  

mysql> select CURDATE();  
-> &#39;1997-12-15&#39; 
mysql> select CURDATE() + 0;  
-> 19971215

 
CURTIME()  
   
CURRENT_TIME
以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。  

mysql> select CURTIME();  
-> &#39;23:50:26&#39; 
mysql> select CURTIME() + 0;  
-> 235026

 
NOW()  
   
SYSDATE()  
   
CURRENT_TIMESTAMP
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的
上下文被使用。  

mysql> select NOW();  
-> &#39;1997-12-15 23:50:26&#39; 
mysql> select NOW() + 0;  
-> 19971215235026

 
UNIX_TIMESTAMP()  
   
UNIX_TIMESTAMP(date)  
如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一
个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME
字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。  

mysql> select UNIX_TIMESTAMP();  
-> 882226357  
mysql> select UNIX_TIMESTAMP(&#39;1997-10-04 22:23:00&#39;);  
-> 875996580

 
当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。  
 
FROM_UNIXTIME(unix_timestamp)  
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串
还是或数字上下文中被使用。  

mysql> select FROM_UNIXTIME(875996580);  
-> &#39;1997-10-04 22:23:00&#39; 
mysql> select FROM_UNIXTIME(875996580) + 0;  
-> 19971004222300

 
FROM_UNIXTIME(unix_timestamp,format)  
返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条
目同样的修饰符。  

mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),  
&#39;%Y %D %M %h:%i:%s %x&#39;);  
-> &#39;1997 23rd December 03:43:30 x&#39;

 
SEC_TO_TIME(seconds)  
返回seconds参数,变换成小时、分钟和秒,值以'HH:MM:SS'或HHMMSS格式化,取决于函数是在一个字符串还是在数字
上下文中被使用。  

mysql> select SEC_TO_TIME(2378);  
-> &#39;00:39:38&#39; 
mysql> select SEC_TO_TIME(2378) + 0;  
-> 3938

 
TIME_TO_SEC(time)  
返回time参数,转换成秒。  

mysql> select TIME_TO_SEC(&#39;22:23:00&#39;);  
-> 80580  
mysql> select TIME_TO_SEC(&#39;00:39:38&#39;);  
-> 2378


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
InnoDBバッファープールとそのパフォーマンスの重要性を説明してください。InnoDBバッファープールとそのパフォーマンスの重要性を説明してください。Apr 19, 2025 am 12:24 AM

Innodbbufferpoolは、データをキャッシュしてページをインデックス作成することにより、ディスクI/Oを削減し、データベースのパフォーマンスを改善します。その作業原則には次のものが含まれます。1。データ読み取り:Bufferpoolのデータを読む。 2。データの書き込み:データを変更した後、bufferpoolに書き込み、定期的にディスクに更新します。 3.キャッシュ管理:LRUアルゴリズムを使用して、キャッシュページを管理します。 4.読みメカニズム:隣接するデータページを事前にロードします。 BufferPoolのサイジングと複数のインスタンスを使用することにより、データベースのパフォーマンスを最適化できます。

MySQL対その他のプログラミング言語:比較MySQL対その他のプログラミング言語:比較Apr 19, 2025 am 12:22 AM

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

MySQLの学習:新しいユーザー向けの段階的なガイドMySQLの学習:新しいユーザー向けの段階的なガイドApr 19, 2025 am 12:19 AM

MySQLは、データストレージ、管理、分析に適した強力なオープンソースデータベース管理システムであるため、学習する価値があります。 1)MySQLは、SQLを使用してデータを操作するリレーショナルデータベースであり、構造化されたデータ管理に適しています。 2)SQL言語はMySQLと対話するための鍵であり、CRUD操作をサポートします。 3)MySQLの作業原則には、クライアント/サーバーアーキテクチャ、ストレージエンジン、クエリオプティマイザーが含まれます。 4)基本的な使用には、データベースとテーブルの作成が含まれ、高度な使用にはJoinを使用してテーブルの参加が含まれます。 5)一般的なエラーには、構文エラーと許可の問題が含まれ、デバッグスキルには、構文のチェックと説明コマンドの使用が含まれます。 6)パフォーマンスの最適化には、インデックスの使用、SQLステートメントの最適化、およびデータベースの定期的なメンテナンスが含まれます。

MySQL:初心者が習得するための必須スキルMySQL:初心者が習得するための必須スキルApr 18, 2025 am 12:24 AM

MySQLは、初心者がデータベーススキルを学ぶのに適しています。 1.MySQLサーバーとクライアントツールをインストールします。 2。selectなどの基本的なSQLクエリを理解します。 3。マスターデータ操作:テーブルを作成し、データを挿入、更新、削除します。 4.高度なスキルを学ぶ:サブクエリとウィンドウの関数。 5。デバッグと最適化:構文を確認し、インデックスを使用し、選択*を避け、制限を使用します。

MySQL:構造化データとリレーショナルデータベースMySQL:構造化データとリレーショナルデータベースApr 18, 2025 am 12:22 AM

MySQLは、テーブル構造とSQLクエリを介して構造化されたデータを効率的に管理し、外部キーを介してテーブル間関係を実装します。 1.テーブルを作成するときにデータ形式と入力を定義します。 2。外部キーを使用して、テーブル間の関係を確立します。 3。インデックス作成とクエリの最適化により、パフォーマンスを改善します。 4.データベースを定期的にバックアップおよび監視して、データのセキュリティとパフォーマンスの最適化を確保します。

MySQL:説明されている主要な機能と機能MySQL:説明されている主要な機能と機能Apr 18, 2025 am 12:17 AM

MySQLは、Web開発で広く使用されているオープンソースリレーショナルデータベース管理システムです。その重要な機能には、次のものが含まれます。1。さまざまなシナリオに適したInnodbやMyisamなどの複数のストレージエンジンをサポートします。 2。ロードバランスとデータバックアップを容易にするために、マスタースレーブレプリケーション機能を提供します。 3.クエリの最適化とインデックスの使用により、クエリ効率を改善します。

SQLの目的:MySQLデータベースとの対話SQLの目的:MySQLデータベースとの対話Apr 18, 2025 am 12:12 AM

SQLは、MySQLデータベースと対話して、データの追加、削除、変更、検査、データベース設計を実現するために使用されます。 1)SQLは、ステートメントの選択、挿入、更新、削除を介してデータ操作を実行します。 2)データベースの設計と管理に作成、変更、ドロップステートメントを使用します。 3)複雑なクエリとデータ分析は、ビジネス上の意思決定効率を改善するためにSQLを通じて実装されます。

初心者向けのMySQL:データベース管理を開始します初心者向けのMySQL:データベース管理を開始しますApr 18, 2025 am 12:10 AM

MySQLの基本操作には、データベース、テーブルの作成、およびSQLを使用してデータのCRUD操作を実行することが含まれます。 1.データベースの作成:createdatabasemy_first_db; 2。テーブルの作成:createTableBooks(idintauto_incrementprimarykey、titlevarchary(100)notnull、authorvarchar(100)notnull、published_yearint); 3.データの挿入:InsertIntoBooks(タイトル、著者、公開_year)VA

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ヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境