prev | next |
6-2.文字列関数
-
LENGTH関数
各生徒のローマ字での文字数を取得します。
SELECT id, name, eng_name, LENGTH(eng_name) AS nagasa FROM tbl_std;
+-------+---------------+-------------+--------+ | id | name | eng_name | nagasa | +-------+---------------+-------------+--------+ | 00001 | 佐藤 太郎 | Sato Taro | 9 | | 00002 | ウルトラ マン | Urutora Man | 11 | | 00005 | ライダー 1号 | Raider One | 10 | +-------+---------------+-------------+--------+
-
SUBSTR関数
各生徒の名前(ローマ字)の最初の1字を取得する。
SELECT id, name, SUBSTR(eng_name, 1, 1) AS one FROM tbl_std;
+-------+---------------+------+ | id | name | one | +-------+---------------+------+ | 00001 | 佐藤 太郎 | S | | 00002 | ウルトラ マン | U | | 00005 | ライダー 1号 | R | +-------+---------------+------+
-
LTRIM, RTRIM関数
LTRIM : 左の空白を削除
RTRIM : 右の空白を削除
前後に空白が入ったデータがないので、学生ID=00001の佐藤さんの両端に空白を挿入したあとで空白を削除します。
UPDATE tbl_std SET name=' 佐藤 ' WHERE id='00001';
いつものごとく値の確認
SELECT id, name FROM tbl_std;
+-------+---------------+ | id | name | +-------+---------------+ | 00001 | 佐藤 | | 00002 | ウルトラ マン | | 00005 | ライダー 1号 | +-------+---------------+
左と右の空白を削除したデータを取得
SELECT id, LTRIM(name), RTRIM(name) FROM tbl_std;
+-------+---------------+---------------+ | id | LTRIM(name) | RTRIM(name) | +-------+---------------+---------------+ | 00001 | 佐藤 | 佐藤 | | 00002 | ウルトラ マン | ウルトラ マン | | 00005 | ライダー 1号 | ライダー 1号 | +-------+---------------+---------------+
-
UPPER,LOWER関数
UPPER : 小文字を大文字にする関数
LOWER : 大文字を小文字にする関数生徒の名前(ローマ字)を大文字、小文字としてデータを取得する。
SELECT id, UPPER(eng_name), LOWER(eng_name) FROM tbl_std;
+-------+-----------------+-----------------+ | id | UPPER(eng_name) | LOWER(eng_name) | +-------+-----------------+-----------------+ | 00001 | SATO TARO | sato taro | | 00002 | URUTORA MAN | urutora man | | 00005 | RAIDER ONE | raider one | +-------+-----------------+-----------------+
prev | next |