ホームページ  >  記事  >  データベース  >  mysqlで日付処理はできるのでしょうか?

mysqlで日付処理はできるのでしょうか?

青灯夜游
青灯夜游オリジナル
2020-10-07 12:40:242470ブラウズ

mysql は日付処理を行うことができ、CURDATE()、NOW()、YEAR()、MONTH()、DAY()、HOUR()、MINUTE()、SECOND などの組み込み関数を使用できます。 () など。日付処理を実行します。たとえば、「SELECT CURDATE()」で現在の日付を取得します。

mysqlで日付処理はできるのでしょうか?

#最近のプロジェクトでは、大量の SQL ステートメントを記述する必要がありました。多くの時間に関連する処理が含まれるため、簡単にまとめてみましょう。

1. 時刻形式: このプロジェクトでは、おそらくデータベース テーブルの構造がさまざまな人々によって確立されました。時刻の形式は徐々に統一されていきます。一部のテーブルには長い型が格納されています。タイムスタンプ、一部のテーブルは、テーブルには日付が保存され、一部のテーブルには時刻が保存されます。形式には 20171225、2017-12-25 などが含まれますが、これらはまったく統一されていません。そうすると、プロジェクトに余分な作業負荷が追加され、問題も発生します。たとえば、バックグラウンド コードを作成する場合、データベースの時刻形式に適合するように時刻を処理する必要があります。勝利するために共同クエリを実行する場合、時刻形式は均一ではなく、SQL ステートメントの時刻形式が変換されます。その結果、SQL ステートメントが肥大化します。したがって、同じプロジェクト内では、時間形式は一貫したままにする必要があります。個人的にはロング型のタイムスタンプとString型のyyyy-MM-dd HH:mm:ssの方が良いと思います。

長いタイプのタイムスタンプは、バックグラウンドの Java コードが日付タイプの時刻をタイムスタンプに変換するのが簡単であるためです。

String 型にしたのは、時刻フィールドをよく使う場合、アプリケーション時に Date 型を String 型に変換する必要がなく、より直感的で使いやすいためです。

2. 一般的に使用される時間ステートメント

SELECT  CURDATE():2020-10-7  //此时日期
SELECT  NOW() : 2020-10-7 22:20:21  //此刻时间
SELECT  YEAR('2020-10-7 22:27:45'): 2020 //获取时间的年份
SELECT  MONTH('2020-10-7 22:27:45'): 10 //获取时间的月份
SELECT  DAY('2020-10-7 22:27:45'):25  //获取时间的天数
SELECT  HOUR('2020-10-7 22:27:45'):22  //获取时间的小时
SELECT  MINUTE('2020-10-7 22:27:45'):27  //获取时间的分钟
SELECT  SECOND('2020-10-7 22:27:45'):45  //获取时间的秒数
SELECT  DATE_SUB(NOW(),INTERVAL   1   YEAR)  //在目前的时间减去一年,该语句可以进行多种操作,指定时间下减去x年:DATE_SUB("2017-12-25",INTERVAL x YEAR),同时可以减去 x month/day/hour/minute/second等
SELECT  DATE_ADD(NOW(),INTERVAL 1 YEAR)  //同上,在目前的时间上加上一年
SELECT  CONCAT('2017','-12-12'):2017-12-12  //组装字符串,可以组装成任何时间格式,也可以使用如上语句,例如:SELECT CONCAT(YEAR(NOW()),'-12-12') :2017-12-12 ;
SELECT UNIX_TIMESTAMP('2017-12-25'):1514131200  //字符串转换成时间戳
SELECT FROM_UNIXTIME(1514131200) :2017-12-25 00:00:00  //时间戳转化为时间
SELECT DATE_FORMAT('2017-12-25 22:23:01', '%Y-%m-%d %H:%i:%s');   //字符串转化为时间格式(date),也可以时间格式转化为字符串格式

上記は、mysql で一般的に使用される時間関連のステートメントの一部です。

推奨チュートリアル: mysql ビデオ チュートリアル

以上がmysqlで日付処理はできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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