日付と時刻関数は、数式内の日付値と時刻値を分析および処理するために使用される関数を指します。この記事では、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 サイトの他の関連記事を参照してください。

ストアドプロシージャは、パフォーマンスを向上させ、複雑な操作を簡素化するためのMySQLのSQLステートメントを事前に拡大します。 1。パフォーマンスの改善:最初のコンピレーションの後、後続の呼び出しを再コンパイルする必要はありません。 2。セキュリティの改善:許可制御を通じてデータテーブルアクセスを制限します。 3.複雑な操作の簡素化:複数のSQLステートメントを組み合わせて、アプリケーションレイヤーロジックを簡素化します。

MySQLクエリキャッシュの実用的な原則は、選択クエリの結果を保存することであり、同じクエリが再度実行されると、キャッシュされた結果が直接返されます。 1)クエリキャッシュはデータベースの読み取りパフォーマンスを改善し、ハッシュ値を使用してキャッシュされた結果を見つけます。 2)単純な構成、mysql構成ファイルでquery_cache_typeとquery_cache_sizeを設定します。 3)SQL_NO_CACHEキーワードを使用して、特定のクエリのキャッシュを無効にします。 4)高周波更新環境では、クエリキャッシュがパフォーマンスボトルネックを引き起こし、パラメーターの監視と調整を通じて使用するために最適化する必要がある場合があります。

MySQLがさまざまなプロジェクトで広く使用されている理由には、次のものがあります。1。複数のストレージエンジンをサポートする高性能とスケーラビリティ。 2。使いやすく、メンテナンス、シンプルな構成とリッチツール。 3。豊富なエコシステム、多数のコミュニティとサードパーティのツールサポートを魅了します。 4。複数のオペレーティングシステムに適したクロスプラットフォームサポート。

MySQLデータベースをアップグレードする手順には次のものがあります。1。データベースをバックアップします。2。現在のMySQLサービスを停止します。3。MySQLの新しいバージョンをインストールします。アップグレードプロセス中に互換性の問題が必要であり、Perconatoolkitなどの高度なツールをテストと最適化に使用できます。

MySQLバックアップポリシーには、論理バックアップ、物理バックアップ、増分バックアップ、レプリケーションベースのバックアップ、クラウドバックアップが含まれます。 1. Logical BackupはMySqldumpを使用してデータベースの構造とデータをエクスポートします。これは、小さなデータベースとバージョンの移行に適しています。 2.物理バックアップは、データファイルをコピーすることで高速かつ包括的ですが、データベースの一貫性が必要です。 3.インクリメンタルバックアップは、バイナリロギングを使用して変更を記録します。これは、大規模なデータベースに適しています。 4.レプリケーションベースのバックアップは、サーバーからバックアップすることにより、生産システムへの影響を減らします。 5. Amazonrdsなどのクラウドバックアップは自動化ソリューションを提供しますが、コストと制御を考慮する必要があります。ポリシーを選択するときは、データベースサイズ、ダウンタイム許容度、回復時間、および回復ポイントの目標を考慮する必要があります。

mysqlclusteringenhancesdatabaserobustnessnessnessnessnessnistandistributiondistributingdataacrossmultiplenodes.itesthendbenginefordatareplication andfaulttolerance、保証highavailability.setupinvolvesconfiguringmanagement、data、ssqlnodes、carefulmonitoringringandpe

MySQLのデータベーススキーマ設計の最適化は、次の手順を通じてパフォーマンスを改善できます。1。インデックス最適化:一般的なクエリ列にインデックスを作成し、クエリのオーバーヘッドのバランスをとり、更新を挿入します。 2。テーブル構造の最適化:正規化または反通常化によりデータ冗長性を削減し、アクセス効率を改善します。 3。データ型の選択:Varcharの代わりにINTなどの適切なデータ型を使用して、ストレージスペースを削減します。 4。パーティション化とサブテーブル:大量のデータボリュームの場合、パーティション化とサブテーブルを使用してデータを分散させてクエリとメンテナンスの効率を改善します。

tooptimizemysqlperformance、soflowthesesteps:1)properindexingtospeedupqueries、2)useexplaintoanalyzeandoptimize Queryperformance、3)AductServerContingSettingStingsinginginnodb_buffer_pool_sizeandmax_connections、4)


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

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

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

ホットトピック









