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

MySQLのSELECT文で各値の末尾にパーセント(%)記号を追加する方法

SELECT文で取得した値の末尾にパーセント(%)記号を追加したい場合は、CONCAT()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、パーセント記号を付けて表示する手順を順番に解説します。

1. サンプルテーブルの作成

まず、以下のようにテーブルを作成します。

mysql> create table DemoTable
(
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName varchar(100),
    StudentScore int
);
Query OK, 0 rows affected (0.68 sec)

このテーブルは、学生ID(StudentId)、学生名(StudentName)、スコア(StudentScore)の3つのカラムを持つ構成です。

2. テストデータの挿入

次に、INSERTコマンドを使ってレコードをいくつか登録します。

mysql> insert into DemoTable(StudentName,StudentScore) values('John',65);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(StudentName,StudentScore) values('Chris',98);
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable(StudentName,StudentScore) values('Robert',91);
Query OK, 1 row affected (0.09 sec)

3. 登録したデータの確認

SELECT文でテーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

実行結果は以下のとおりです。

+-----------+-------------+--------------+
| StudentId | StudentName | StudentScore |
+-----------+-------------+--------------+
|         1 | John        | 65           |
|         2 | Chris       | 98           |
|         3 | Robert      | 91           |
+-----------+-------------+--------------+
3 rows in set (0.00 sec)

4. CONCAT()関数でパーセント記号を追加する

ここが本題です。SELECT文の実行時に、各スコアの値の末尾にパーセント(%)記号を付けて表示するには、次のようなクエリを実行します。

mysql> select StudentId,StudentName,concat(StudentScore,'%') AS StudentScore from DemoTable;

実行結果は以下のとおりです。

+-----------+-------------+--------------+
| StudentId | StudentName | StudentScore |
+-----------+-------------+--------------+
|         1 | John        | 65%          |
|         2 | Chris       | 98%          |
|         3 | Robert      | 91%          |
+-----------+-------------+--------------+
3 rows in set (0.00 sec)

ポイントの解説

上記のクエリでは、concat(StudentScore,'%')によって、数値型のStudentScoreと文字列「%」を連結しています。これにより、元のテーブルのデータを変更することなく、表示の段階だけでパーセント形式に変換できます。

また、AS StudentScoreというエイリアスを指定することで、結果セットのカラム名を元の名前のまま保ち、見やすい出力を実現しています。なお、CONCAT()関数は引数として渡されたすべての文字列を連結する関数であり、数値は自動的に文字列へ変換されるため、明示的なキャストは不要です。

  1. MySQLで特定の値だけを検索結果の最後に並び替える方法

    MySQLで特定の値を最後に並び替える方法 データベースを扱っていると、「不明」や「未設定」を意味する特定の値だけを、検索結果の一番最後に表示したいケースがあります。MySQLでは、ORDER BY句に比較式を組み合わせることで、このような並べ替えを簡単に実現できます。ここでは、テーブル作成から動作確認まで、サンプルコードとともに手順を解説します。 ステップ1:サンプルテーブルを作成する まず、氏名データを格納するためのテーブルを作成します。 mysql> create table demo57-> (-> id int not null auto_increment pr

  2. PythonとMySQLでSELECT DISTINCTを使う方法をわかりやすく解説

    SQLのテーブルでは、カラムに重複した値が含まれていることがよくあります。重複した値が多いと、クエリが返す結果の分析が難しくなるため、テーブルのカラムから一意(重複なし)の値だけを取得したいケースがあります。 SELECT DISTINCTが必要になる場面 例えば、「Customers」という顧客情報(名前、年齢、国など)を管理するテーブルがあるとします。顧客がどの国に属しているのかを把握したい場合、インド出身の顧客が10人、アメリカ出身が15人といったように、同じ国の値が何度も現れます。 単純にcountryカラムを選択すると、大量の重複値を含む列全体が返されてしまい、結果の分析が困難にな