ホームページ データベース mysql チュートリアル MySQLの日付関数の詳しい説明

MySQLの日付関数の詳しい説明

Mar 03, 2018 am 10:48 AM
mysql 日付 詳しい説明

Mysql は、Kaiyuan の無料リレーショナル データベースとして、非常に多くのユーザー ベースを持っています。この記事では、MYSQL でよく使用される日付関数と日付変換書式設定関数をリストします。

1、曜日(日付)


SELECT DAYOFWEEK(‘2016-01-16') 
SELECT DAYOFWEEK(‘2016-01-16 00:00:00')
ログイン後にコピー


-> 7 (表示,记住:星期天=1,星期一=2, ... 星期六=7)
ログイン後にコピー

2、WEEKDAY(日付)


SELECT WEEKDAY(‘2016-01-16') 
SELECT WEEKDAY(‘2016-01-16 00:00:00')
ログイン後にコピー


-> 5 (表示返回date是在一周中的序号,西方日历中通常一周的开始是星期天,并且以0开始计数,所以,记住:0=星期一,1=星期二, ... 5=星期六)
ログイン後にコピー
3、DAYOFMONTH(日付)


SELECT DAYOFMONTH(‘2016-01-16') 
SELECT DAYOFMONTH(‘2016-01-16 00:00:00')
ログイン後にコピー

-> 16 (表示返回date是当月的第几天,1号就返回1,... ,31号就返回31)
ログイン後にコピー
4、DAYOFYEAR(日付)


SELECT DAYOFYEAR(‘2016-03-31') 
SELECT DAYOFYEAR(‘2016-03-31 00:00:00')
ログイン後にコピー

-> 91 (表示返回date是当年的第几天,01.01返回1,... ,12.31就返回365)
ログイン後にコピー
5、MONTH(日付)


SELECT MONTH(‘2016-01-16') 
SELECT MONTH(‘2016-01-16 00:00:00')
ログイン後にコピー

-> 1 (表示返回date是当年的第几月,1月就返回1,... ,12月就返回12)
ログイン後にコピー
6、DAYNAME (日付)


SELECT DAYNAME(‘2016-01-16') 
SELECT DAYNAME(‘2016-01-16 00:00:00')
ログイン後にコピー

-> Saturday (表示返回date是周几的英文全称名字)
ログイン後にコピー
7、MONTHNAME(日付)


SELECT MONTHNAME(‘2016-01-16') 
SELECT MONTHNAME(‘2016-01-16 00:00:00')
ログイン後にコピー

-> January (表示返回date的是当年第几月的英文名字)
ログイン後にコピー
8、QUARTER(日付)


りー

りー 9、WEEK(日付、インデックス)


SELECT QUARTER(‘2016-01-16') 
SELECT QUARTER(‘2016-01-16 00:00:00')
ログイン後にコピー

-> 1 (表示返回date的是当年的第几个季度,返回1,2,3,4)
ログイン後にコピー
10、YEAR(日付)


SELECT WEEK(‘2016-01-03') 
SELECT WEEK(‘2016-01-03', 0) 
SELECT WEEK(‘2016-01-03', 1)
ログイン後にコピー

-> 1 (该函数返回date在一年当中的第几周,date(01.03)是周日,默认是以为周日作为一周的第一天,函数在此处返回1可以有两种理解:1、第一周返回0,第二周返回1,.... ,2、以当年的完整周开始计数,第一周返回1,第二周返回2,... ,最后一周返回53)
-> 1 (week()默认index就是0. 所以结果同上)
-> 0 (当index为1时,表示一周的第一天是周一,所以,4号周一才是第二周的开始日)
ログイン後にコピー

年が2つしかない場合に注意してください数字、その後自動的に完了メカニズムはデフォルト時刻 1970.01.01 に基づいており、>= 完了 19 の場合は 70、完了 20 の場合は <70

11、HOUR(time)


SELECT YEAR(‘70-01-16&#39;) 
SELECT YEAR(‘2070-01-16&#39;) 
SELECT YEAR(‘69-01-16 00:00:00&#39;)
ログイン後にコピー

-> 1970 (表示返回date的4位数年份)
-> 2070 
-> 1969
ログイン後にコピー

日付または時刻の時の値を返します。値の範囲 (0 ~ 23)。 -59 )

13. SECOND(時間)


SELECT HOUR(‘11:22:33&#39;) 
SELECT HOUR(‘2016-01-16 11:22:33&#39;)
ログイン後にコピー


-> 11
-> 11
ログイン後にコピー

値の範囲(0-59)

14を返します。


SELECT MINUTE(‘11:22:33&#39;) 
SELECT MINUTE(‘2016-01-16 11:44:33&#39;)
ログイン後にコピー


-> 22
-> 44
ログイン後にコピー

この関数は、月の加算または減算の結果を返します。月の形式は、yyyyMM 形式で返されます

15。 (monthStart , monthEnd)


SELECT SECOND(‘11:22:33&#39;) 
SELECT SECOND(‘2016-01-16 11:44:22&#39;)
ログイン後にコピー


-> 33
-> 22
ログイン後にコピー

この関数は、monthStart から monthEnd までの月数を返します

16, DATE_ADD (日付、INTERVAL 数値型)、ADDDATE() と同じ


SELECT PERIOD_ADD(1601,2) 
SELECT PERIOD_ADD(191602,3) 
SELECT PERIOD_ADD(191602,-3)
ログイン後にコピー


-> 201603
-> 191605
-> 191511
ログイン後にコピー

DATE_ADD() と ADDDATE() は日付操作の結果を返します

1. 日付の形式は「15-12-31」または「15-12-31 23: 59:59"、または "2015-12-31 23:59:59" です。パラメータの日付が日付形式の場合、日付形式の結果が返されます。パラメータの日付が日時形式の場合、日時形式の結果が返されます。

2. 形式を入力します: SECOND 秒 SECONDS

MINUTE MinutesMINUTES

HOUR Time HOURS
DAY DAYS

MONTH Month MONTHS

YEAR YEARS
MINUTE_SECOND分と秒 "MINUTES:SECONDS" HOUR_MINUTE 時と分 "HOURS:MINUT ES "

DAY_HOUR 日と時間"DAYS HOURS"

YEAR_MONTH 年と月 "YEARS-MONTHS"

HOUR_SECOND 時、分、"HOURS:MINUTES:SECONDS"

DAY_MINUTE 日、時間、分 "DAYS HOURS:MINUTES"

DAY_SECOND 日、時、分、秒 "DAYS HOURS:MINUTES:SECONDS"



3. さらに、関数を使用しない場合は、演算子 "+" と "-" の使用も検討できます。例は次のとおりです。



SELECT PERIOD_DIFF(1601,1603) 
SELECT PERIOD_DIFF(191602,191607) 
SELECT PERIOD_DIFF(1916-02,1916-07) 
SELECT PERIOD_DIFF(1602,9002)
ログイン後にコピー

戻り結果:



-> -2
-> -5
-> 5
-> 312
ログイン後にコピー


17。DATE_SUB (日付、INTERVAL数値型)、SUBDATE()と同じ


使い方はDATE_ADD()とADDDATE()に似ています。使用法については 16 のポイントを参照してください。具体的な使用法については、 DATE_ADD() と ADDDATE() を参照してください。


18、TO_DAYS(日付)


SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL 1 SECOND) 
SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL 1 DAY) 
SELECT DATE_ADD(“2015-12-31 23:59:59”,INTERVAL “1:1” MINUTE_SECOND) 
SELECT DATE_ADD(“2016-01-01 00:00:00”,INTERVAL “-1 10” DAY_HOUR)
ログイン後にコピー

-> 2016-01-01 00:00:00
-> 2016-01-01 23:59:59
-> 2016-01-01 00:01:00
-> 2015-12-30 14:00:00
ログイン後にコピー
AD 0から日付までの合計日数を返します


19、FROM_DAYS(日付)

りー


SELECT “2016-01-01” - INTERVAL 1 SECOND 
SELECT “2016-01-01” - INTERVAL 1 DAY 
SELECT ‘2016-12-31 23:59:59&#39; + INTERVAL 1 SECOND 
SELECT ‘2016-12-31 23:59:59&#39; + INTERVAL “1:1” MINUTE_SECOND
ログイン後にコピー

AD 0

20 からの日数の DATE 値を返します。 DATE_FORMAT(日付, 形式): パラメーターに従って日付をフォーマットします。

-> 2015-12-31 23:59:59
-> 2015-12-31
-> 2017-01-01 00:00:00
-> 2017-01-01 00:01:00
ログイン後にコピー


SELECT TO_DAYS(‘2016-01-16&#39;) 
SELECT TO_DAYS(‘20160116&#39;) 
SELECT TO_DAYS(‘160116&#39;)
ログイン後にコピー

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), 这里星期一是星期的第一天
%% 字符% )

TIME_FORMAT(time,format):
具体用法和DATE_FORMAT()类似,但TIME_FORMAT只处理小时、分钟和秒(其余符号产生一个NULL值或0)

21、获取系统当前日期


SELECT CURDATE() 
SELECT CURRENT_DATE()
ログイン後にコピー


-> 2016-01-16
-> 2016-01-16
ログイン後にコピー

22、获取系统当前时间


SELECT CURTIME() 
SELECT CURRENT_TIME()
ログイン後にコピー


-> 17:44:22
-> 17:44:22
ログイン後にコピー

23、NOW(),SYSDATE(),CURRENT_TIMESTAMP(),LOCALTIME():获取系统当前日期和时间


SELECT NOW() 
SELECT SYSDATE() 
SELECT CURRENT_TIMESTAMP() 
SELECT CURRENT_TIMESTAMP 
SELECT LOCALTIME() 
SELECT LOCALTIME
ログイン後にコピー


-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
-> 2016-01-16 17:44:41
ログイン後にコピー

24、UNIX_TIMESTAMP(date):获取时间戳


SELECT UNIX_TIMESTAMP() 
SELECT UNIX_TIMESTAMP(‘2016-01-16&#39;) 
SELECT UNIX_TIMESTAMP(‘2016-01-16 23:59:59&#39;)
ログイン後にコピー


-> 1452937627
-> 1452873600
-> 1452959999
ログイン後にコピー

25、FROM_UNIXTIME(unix_timestamp,format):把时间戳转化成日期时间


SELECT FROM_UNIXTIME(1452959999) 
SELECT FROM_UNIXTIME(1452959999,&#39;%Y-%m-%d %H:%i:%s&#39;)
ログイン後にコピー


-> 2016-01-16 23:59:59
-> 2016-01-16 23:59:59
ログイン後にコピー

26、SEC_TO_TIME(seconds):把秒数转化成时间


SELECT SEC_TO_TIME(2378)
ログイン後にコピー


-> 00:39:38
ログイン後にコピー

27、TIME_TO_SEC(time):把时间转化成秒数


SELECT TIME_TO_SEC(‘22:23:00&#39;)
ログイン後にコピー


-> 2378
ログイン後にコピー

28、ADDTIME(time,times):把times加到time上


SELECT ADDTIME(“2015-12-31 23:59:59”,&#39;01:01:01&#39;)
ログイン後にコピー


-> 2016-01-01 01:01:00
ログイン後にコピー

29、CONVERT_TZ(date,from_tz ,to_tz ):转换时区


SELECT CONVERT_TZ(‘2004-01-01 12:00:00&#39;,&#39;+00:00&#39;,&#39;+10:00&#39;)
ログイン後にコピー


-> 2004-01-01 22:00:00
ログイン後にコピー

30、STR_TO_DATE(date,format ):将字符串转成format格式的日期时间


SELECT STR_TO_DATE(‘2015-01-01&#39;, ‘%Y-%m-%d&#39;)
ログイン後にコピー


-> 2015-01-01
ログイン後にコピー

31、LAST_DAY(date ):获取date当月最后一天的日期


SELECT LAST_DAY(SYSDATE()) 
SELECT LAST_DAY(‘2015-02-02&#39;) 
SELECT LAST_DAY(‘2015-02-02 00:22:33&#39;)
ログイン後にコピー


-> 2016-01-31
-> 2015-02-28
-> 2015-02-28
ログイン後にコピー

32、MAKEDATE(year ,dayofyear ):根据参数(年份,第多少天)获取日期


SELECT MAKEDATE(2015 ,32)
ログイン後にコピー


-> 2015-02-01
ログイン後にコピー

33、 MAKETIME(hour ,minute ,second ):根据参数(时,分,秒)获取时间


SELECT MAKETIME(12 ,23 ,34 )
ログイン後にコピー


-> 12:23:34
ログイン後にコピー

34、YEARWEEK(date):获取日期的年和周


SELECT YEARWEEK(SYSDATE()) 
SELECT YEARWEEK(‘2015-01-10&#39;) 
SELECT YEARWEEK(‘2015-01-10&#39;,1)
ログイン後にコピー


-> 201602
-> 201501
-> 201502
ログイン後にコピー

35、WEEKOFYEAR(date):获取当日是当年的第几周


SELECT WEEKOFYEAR(SYSDATE()) 
SELECT WEEKOFYEAR(‘2015-01-10&#39;)
ログイン後にコピー


-> 2
-> 2
ログイン後にコピー

-> 2
-> 2

mysql中常用的几种时间格式转换函数整理如下

1,from_unixtime(timestamp, format):

timestamp为int型时间,如14290450779;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 月の短縮名 (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=日曜日...6=土曜日)
%U 週 (0... ...52)、ここでは日曜日が週の最初の日です
%u 週 (0...52)、ここ月曜日は週の最初の日です

2、unix_timestamp(date):

この関数は from_unixtime() とまったく同じです。 逆に、前者は unix タイムスタンプを読み取り可能な時刻に変換し、unix_timestamp()読み取り可能な時刻を UNIX タイムスタンプに変換します。これは、datetime に格納された時刻を並べ替えるときに使用されます。たとえば、unix_timestamp('2009-08-06 10:10:40') の場合、1249524739 が得られます。

unix_timestamp() がパラメータを渡さない場合、now() 関数が呼び出され、現在時刻が自動的に取得されます。

3、date_format(date, format):

date_format() は、日付または日時型の値を任意の時刻形式に変換します。たとえば、一般的なアプリケーション シナリオでは、テーブルには更新時刻であるフィールドがあり、日時型が格納されますが、フロントエンドで表示する場合は、年、月、日 (xxxx-xx-xx) のみを表示する必要があります。 ) この場合、結果セットでプログラム ループ処理を使用せずに、date_format(date,'% Y-%m-%d ') 処理を使用できます。

関連する推奨事項:

一般的に使用される mysql 日付関数

mysql 日付と時刻の型

php mysql 日付操作関数_PHP チュートリアル


以上がMySQLの日付関数の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

MySQLの役割:Webアプリケーションのデータベース MySQLの役割:Webアプリケーションのデータベース Apr 17, 2025 am 12:23 AM

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

データベース接続の解決問題:Minii/DBライブラリを使用する実用的なケース データベース接続の解決問題:Minii/DBライブラリを使用する実用的なケース Apr 18, 2025 am 07:09 AM

小さなアプリケーションを開発する際には、軽量データベース操作ライブラリをすばやく統合する必要性という厄介な問題に遭遇しました。複数のライブラリを試した後、私はそれらがあまりにも多くの機能を持っているか、あまり互換性がないかのどちらかであることがわかりました。最終的に、私は問題を完全に解決したYii2に基づいた単純化されたバージョンであるMinii/DBを見つけました。

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

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

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

Laravel Frameworkインストール方法 Laravel Frameworkインストール方法 Apr 18, 2025 pm 12:54 PM

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

MySQL対その他のデータベース:オプションの比較 MySQL対その他のデータベース:オプションの比較 Apr 15, 2025 am 12:08 AM

MySQLは、Webアプリケーションやコンテンツ管理システムに適しており、オープンソース、高性能、使いやすさに人気があります。 1)PostgreSQLと比較して、MySQLは簡単なクエリと高い同時読み取り操作でパフォーマンスが向上します。 2)Oracleと比較して、MySQLは、オープンソースと低コストのため、中小企業の間でより一般的です。 3)Microsoft SQL Serverと比較して、MySQLはクロスプラットフォームアプリケーションにより適しています。 4)MongoDBとは異なり、MySQLは構造化されたデータおよびトランザクション処理により適しています。

See all articles