MySQLは日付形式から年を抽出しますか?
日付形式から年を抽出するには、MySQLの組み込み関数YEAR()を使用できます。クエリは次のとおりです-
mysql> SELECT YEAR(curdate()) as OnlyYearFromCurrentDate;
以下は出力です-
+-------------------------+ | OnlyYearFromCurrentDate | +-------------------------+ | 2018 | +-------------------------+ 1 row in set (0.00 sec)
または、次の方法で行うことができます-
mysql> SELECT YEAR(date(now())) as OnlyYearFromCurrentDate;
以下は出力です-
+-------------------------+ | OnlyYearFromCurrentDate | +-------------------------+ | 2018 | +-------------------------+ 1 row in set (0.00 sec)
これにより、列がvarcharの場合でもこれを実現できます。まずテーブルを作成しましょう-
mysql> create table ExtractYearDemo −> ( −> YourDueTime varchar(200) −> ); Query OK, 0 rows affected (1.15 sec)
挿入コマンドを使用してテーブルにレコードを挿入します。クエリは次のとおりです-
mysql> insert into ExtractYearDemo values('27-10-2011'); Query OK, 1 row affected (0.16 sec) mysql> insert into ExtractYearDemo values('28-11-2012'); Query OK, 1 row affected (0.15 sec) mysql> insert into ExtractYearDemo values('29-12-2018'); Query OK, 1 row affected (0.14 sec) mysql> insert into ExtractYearDemo values('01-01-2019'); Query OK, 1 row affected (0.15 sec)
SELECTステートメントを使用してテーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from ExtractYearDemo;
以下は出力です-
+-------------+ | YourDueTime | +-------------+ | 27-10-2011 | | 28-11-2012 | | 29-12-2018 | | 01-01-2019 | +-------------+ 4 rows in set (0.00 sec)
以下は、列がvarcharタイプの場合にテーブル列から年を抽出するためのクエリです-
mysql> select YEAR(STR_TO_DATE(yourDueTime, "%d-%m-%Y")) As OnlyYearFromDate from ExtractYearDemo;
以下は年を表示する出力です-
+------------------+ | OnlyYearFromDate | +------------------+ | 2011 | | 2012 | | 2018 | | 2019 | +------------------+ 4 rows in set (0.00 sec)
-
PHP MySQLのタイムスタンプから日/月/年を抽出しますか?
タイムスタンプから日/月/年を抽出するには、date_parse()関数を使用する必要があります。構文は次のとおりです- print_r(date_parse(“anyTimeStampValue”)); PHPコードは次のとおりです- $yourTimeStampValue="2019-02-04 12:56:50"; print_r(date_parse($yourTimeStampValue)); PHPコードのスナップショットは次のとおりです- 以下は出力です- Array ( [year] => 2019 [month]
-
MySQLの日付形式から数値の日付値を抽出しますか?
これには、UNIX_TIMESTAMP()を使用します。以下は構文です- select UNIX_TIMESTAMP(STR_TO_DATE(yourColumnName, "%d-%b-%y")) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo34 −> ( −> datevalue varchar(40) −> ); Query OK, 0 rows affected (1.51 sec) 挿入コマンド-を