MySQLで文字列を月(数値)に変換するクエリの書き方
MySQLで「Jan」や「Mar」のような月名の文字列を数値(1、3など)に変換したい場合は、str_to_date() 関数と month() 関数を組み合わせて使用します。
select month(str_to_date(カラム名,'%b')) from テーブル名;
フォーマット指定子の %b は、省略形の月名(Jan、Feb、Marなど)を表します。まずは、サンプル用のテーブルを作成しましょう。
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
MonthName varchar(100)
);
Query OK, 0 rows affected (0.76 sec)次に、insertコマンドを使用してレコードを挿入します。
mysql> insert into DemoTable(MonthName) values('Jan');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(MonthName) values('Mar');
Query OK, 1 row affected (0.13 sec)select文ですべてのレコードを確認してみましょう。
mysql> select *from DemoTable;
出力結果
+----+-----------+ | Id | MonthName | +----+-----------+ | 1 | Jan | | 2 | Mar | +----+-----------+ 2 rows in set (0.00 sec)
それでは、文字列を月(数値)に変換するクエリを見ていきましょう。
mysql> select month(str_to_date(MonthName,'%b')) from DemoTable;
出力結果
+------------------------------------+ | month(str_to_date(MonthName,'%b')) | +------------------------------------+ | 1 | | 3 | +------------------------------------+ 2 rows in set (0.05 sec)
このように、str_to_date() で月名の文字列を日付値に変換し、month() で月の数値を取得することで、簡単に文字列から月の数値への変換が実現できます。
-
MySQLのDATE_FORMAT関数でタイムスタンプから月番号を取得する方法
MySQLでタイムスタンプ型のカラムから「月の番号だけ」を取り出したい場合、DATE_FORMAT() 関数を使うのが便利です。書式指定子 %m を指定することで、01〜12の形式で月番号を文字列として取得できます。この記事では、実際にテーブルを作成し、データを登録して、月番号を抽出するまでの一連の手順をサンプルコード付きで解説します。1. サンプルテーブルの作成まず、TIMESTAMP型のカラムを持つテーブルを作成します。mysql> create table DemoTable1999 ( ArrivalDate timestamp ); Query OK,
-
PHPで文字列を数値に変換する方法をわかりやすく解説
PHPで文字列を数値に変換する方法はいくつかあります。最もシンプルなのは、キャスト演算子を使う方法です。ここでは、基本的な変換方法をサンプルコードとともに紹介します。例1:(int)によるキャストで整数に変換<?php $str = "150"; $num = (int)$str; echo "Number (Converted from String) = $num"; ?>出力結果上記のコードを実