Open Source WEB

前回までは、エイリアスを付けるところまでだったが、 今回はつけたエイリアスを、条件判定などに実際に利用してみよう。 条件判定は長い式になりやすいので、 条件判定式を、短く、簡潔に、分かりやすくするためにもエイリアスは効果的だ。 今回は、そういう使い方をしてみよう。

例によって、また過去のサンプルを再利用してみよう。 東京の市区町村データを用いる。

CREATE TABLE `東京` (
    `名称` VARCHAR(10), `読み` VARCHAR(20), `人口` INT, `面積` FLOAT(10,2)
) ENGINE=MyISAM DEFAULT CHARSET=eucjpms;

INSERT INTO `東京` VALUES
('千代田区','ちよだく',39551,11.64),
('中央区','ちゅうおうく',87416,10.15),
('新宿区','しんじゅくく',299808,18.23),
('世田谷区','せたがやく',835702,58.08),
('調布市','ちょうふし',214032,21.53),
('町田市','まちだし',405008,71.62),
('大島町','おおしままち',8786,91.06),
('檜原村','ひのはらむら',3004,105.42),
('小笠原村','おがさわらむら',2755,104.41);

以上の準備をして、テーブル`東京`の中味を確認しておく。

mysql> SELECT * FROM `東京`;
+----------+----------------+--------+--------+
| 名称     | 読み           | 人口   | 面積   |
+----------+----------------+--------+--------+
| 千代田区 | ちよだく       |  39551 |  11.64 |
| 中央区   | ちゅうおうく   |  87416 |  10.15 |
| 新宿区   | しんじゅくく   | 299808 |  18.23 |
| 世田谷区 | せたがやく     | 835702 |  58.08 |
| 調布市   | ちょうふし     | 214032 |  21.53 |
| 町田市   | まちだし       | 405008 |  71.62 |
| 大島町   | おおしままち   |   8786 |  91.06 |
| 檜原村   | ひのはらむら   |   3004 | 105.42 |
| 小笠原村 | おがさわらむら |   2755 | 104.41 |
+----------+----------------+--------+--------+
9 rows in set (0.00 sec)
 
mysql>

文字列関数 RIGHT

では、ここで、つぎの問題を考えてみよう。

区市町村がそれぞれいくつ存在するかを求めよ。

でも、市区町村を示すためのカラムは用意されていない。 これでは出来ないではないか。

と思うかも知れないが、名称の最後の漢字1文字を利用すればできそうだ。

最後の一文字を取りだす文字列関数は RIGHT であり、 12.3.1. String Comparison Functions には以下のように説明されている。

RIGHT(str,len)

Returns the rightmost len characters from the string str.

mysql> SELECT RIGHT('foobarbar', 4);
        -> 'rbar'

This function is multi-byte safe. 

最後に、multi-byte safe とあるので、漢字も大丈夫のはずだ。 もちろん、MySQL 4.1 以降の場合だが。

一応、RIGHT関数自体の動作確認をしておこう。

mysql> SELECT RIGHT('小笠原村',1);
+---------------------+
| RIGHT('小笠原村',1) |
+---------------------+
| 村                  |
+---------------------+
1 row in set (0.03 sec)
 
mysql>

後は、週末に上記問題に対応するSQL文を考えることにしよう。


戻る:エイリアスのクォートは何でも良いのかな

次へ:式中の要素に漢字エイリアスを使うとどうなるか(続編)


フィードバック:

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us