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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

次のコマンドでmysqlデータベースを表示します。サーバーに接続します:mysql -u username -pパスワードrun showデータベース。すべての既存のデータベースを取得するコマンド[データベース]を選択します。データベース名を使用します。テーブルを表示:表を表示します。テーブル構造を表示:テーブル名を説明してください。データを表示:[テーブル名]から[ *]を選択します。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLでテーブルをコピーするには、新しいテーブルの作成、データの挿入、外部キーの設定、インデックスのコピー、トリガー、ストアドプロシージャ、および機能が必要です。特定の手順には、同じ構造を持つ新しいテーブルの作成が含まれます。元のテーブルからデータを新しいテーブルに挿入します。同じ外部キーの制約を設定します(元のテーブルに1つがある場合)。同じインデックスを作成します。同じトリガーを作成します(元のテーブルに1つがある場合)。同じストアドプロシージャまたは関数を作成します(元のテーブルが使用されている場合)。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。
