Date関数でSQL ServerとMySQL2024 年の最新の入門チュートリアル。このコースでは SQLの日付(日付),MySQLの日付関数,SQL Serverの日付関数,SQLの日付データ型,SQLの日付処理, について学習できます。
我々は、日付を扱う場合には、おそらく、挿入された日付形式がデータベース列に日付形式と一致していることを確認するための最も困難な課題です。
限り、あなたのデータは、日付部分のみが含まれているとして、あなたのクエリが間違って行くだろう。 時間成分が関与する場合は、状況は複雑なビットです。
クエリの日付の複雑さを説明する前に、のは、最も重要な組み込みの日付処理機能を見てみましょう。
次の表は、最も重要なのは、内蔵のMySQL日付関数一覧表示されます:
函数 | 描述 |
---|---|
NOW() | 返回当前的日期和时间 |
CURDATE() | 返回当前的日期 |
CURTIME() | 返回当前的时间 |
DATE() | 提取日期或日期/时间表达式的日期部分 |
EXTRACT() | 返回日期/时间的单独部分 |
DATE_ADD() | 向日期添加指定的时间间隔 |
DATE_SUB() | 从日期减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的天数 |
DATE_FORMAT() | 用不同的格式显示日期/时间 |
次の表は、最も重要な組み込みの日付関数でSQL Serverを示しています。
函数 | 描述 |
---|---|
GETDATE() | 返回当前的日期和时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的时间 |
CONVERT() | 用不同的格式显示日期/时间 |
MySQLは 、データベース内の日付または日付/時刻の値に格納されたデータの次のタイプを使用します。
SQL Serverは、データベース内の日付または日付/時刻の値に格納されたデータの次のタイプを使用します。
注:データベースに新しいテーブルを作成するときは、列のデータ型を選択する必要があります!
利用可能なすべてのデータ型については、当社の完全ご覧くださいデータ型リファレンスマニュアル 。
部分は時間を必要としない場合は、我々は簡単に二つの日付を比較することができます!
私たちは、次の "受注"テーブルがあるとします。
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
今、私たちはテーブルから「2008-11-11」レコードとして受注日を選択します。
私たちは、次のSELECT文を使用します。
結果は次のように設定します。
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
さて、(「受注日」欄パートタイムに注意してください)以下のように "受注"テーブルがあると仮定:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | Camembert Pierrot | 2008-11-09 15:45:21 |
3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
我々は上記と同じSELECTステートメントを使用する場合:
その後、我々は結果を取得します! これは、クエリの日付は時間の部分が含まれていないためです。
ヒント:あなたは、クエリは、シンプルで維持しやすいようにしたい場合は、あなたの日付に時間コンポーネントを使用しないでください!