MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

  1. 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]

  2. 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) 挿入コマンド-を