[解決済み] mySQLのMONTH()で先頭のゼロを使用するようにするには?
2022-05-18 08:48:53
質問
このクエリで 8 の代わりに '08' を返すように mySQL の MONTH() 関数に指定するにはどうすればよいですか。
ソートが日付単位で動作するようにしたいのですが。 現在、以下のような日付の結果を得ています。
2006-9
2007-1
2007-10
2007-11
現在のクエリ
SELECT COUNT(*), CONCAT(YEAR(`datetime_added`), '-', MONTH(`datetime_added`)) as date FROM `person` WHERE (email = '' OR email IS NULL)
GROUP BY date
ORDER BY date ASC
どのように解決するのですか?
代わりに以下を使用してください。
DATE_FORMAT(`datetime_added`,'%Y-%m')
説明します。
DATE_FORMAT()
関数では、以下の表で説明されている指定子を使って、好きなように日付をフォーマットすることができます (以下の表からそのまま引用しています)。
ドキュメント
). つまり、フォーマット文字列
'%Y-%m'
というのは、完全な年 (4桁) と、その後に続くダッシュ (
-
)、そして2桁の月番号"。
なお、曜日・月名に使用する言語は
lc_time_names
というシステム変数で指定できます。非常に便利です。参照先
ドキュメント
を参照してください。
Specifier Description
%a Abbreviated weekday name (Sun..Sat)
%b Abbreviated month name (Jan..Dec)
%c Month, numeric (0..12)
%D Day of the month with English suffix (0th, 1st, 2nd, 3rd, …)
%d Day of the month, numeric (00..31)
%e Day of the month, numeric (0..31)
%f Microseconds (000000..999999)
%H Hour (00..23)
%h Hour (01..12)
%I Hour (01..12)
%i Minutes, numeric (00..59)
%j Day of year (001..366)
%k Hour (0..23)
%l Hour (1..12)
%M Month name (January..December)
%m Month, numeric (00..12)
%p AM or PM
%r Time, 12-hour (hh:mm:ss followed by AM or PM)
%S Seconds (00..59)
%s Seconds (00..59)
%T Time, 24-hour (hh:mm:ss)
%U Week (00..53), where Sunday is the first day of the week
%u Week (00..53), where Monday is the first day of the week
%V Week (01..53), where Sunday is the first day of the week; used with %X
%v Week (01..53), where Monday is the first day of the week; used with %x
%W Weekday name (Sunday..Saturday)
%w Day of the week (0=Sunday..6=Saturday)
%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y Year, numeric, four digits
%y Year, numeric (two digits)
%% A literal “%” character
%x x, for any “x” not listed above
関連
-
MySQLのWhereの使用方法について説明します。
-
[解決済み] MySQLクエリ GROUP BY 日/月/年
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み] 日付から月名を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mysqlでインデックスに障害が発生する原因は何ですか?
-
MySQLデータベース・インデックスの左端一致の原則
-
MySQLデータ型の詳細
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
[解決済み】MySQLで「すべての派生テーブルは独自のエイリアスを持つ必要があります」というエラーは何ですか?
-
[解決済み】マルチパート識別子をバインドできない
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
msql クエリでのエラー 'where 節' の不明な列 'yellow fruit'
-
[解決済み] MySQLのプロセスリストを見つけ、それらのプロセスを終了させる方法は?
-
[解決済み] SQLでカラムに最大値を持つ行のみを選択する [重複]。