Year(2)またはYear(4)のどの形式でMySQLは日付「0000-00-00」からの年の値を返しますか?
日付値を「0000-00-00」としてMySQLテーブルに格納した場合、そのような種類の日付から年の値を抽出すると、MySQLは0を返します。Year(2)にもYear(4)にもなりません。フォーマット。それを理解するために、「detail_bday」テーブルの次のデータを使用しています-
mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name | Birth_Date | +----+---------+------------+ | 1 | Saurabh | 1990-05-12 | | 2 | Raman | 1993-06-11 | | 3 | Gaurav | 1984-01-17 | | 4 | Rahul | 1993-06-11 | | 5 | Sonia | 1993-11-31 | | 6 | Ram | 0000-00-00 | +----+---------+------------+ 6 rows in set (0.00 sec)
次のクエリは、日付「0000-00-00」から年の値を取得しようとします-
mysql> Select Year(Birth_date) from detail_bday Where Name = 'Ram'; +------------------+ | Year(Birth_date) | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec)
上記の結果セットは、MySQLがYear(2)またはYear(4)の形式で値を指定する代わりに0を返すことを示しています。
-
'10/12/2010'のような日付形式からフェッチされた特定の年でテーブルのレコードを更新しますか?
特定の年のレコードを更新するには、次の構文のようにYEAR()メソッドを使用します。 update yourTableName set yourColumnName1=yourValue1 where YEAR(str_to_date(yourColumnName2,'%d/%m/%Y'))=yourValue2; まずテーブルを作成しましょう- mysql> create table DemoTable1924 ( UserName varchar(20), UserJoiningDate
-
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) 挿入コマンド-を