Loading...

EZSPLIT

SQLです。
mysqlのファンクションです。
カンマ区切りの文字列中の何番目の文字列を取り出す目的で作成しました。
3〜4週間前に作成したと思うのですが、いまいちその動機を思い出せないでいます。
やばいですね....
関数名としてEZSPLITというのもいまいちだなーと思いつつ

DROP FUNCTION EZSPLIT;
delimiter //
CREATE FUNCTION EZSPLIT(s TEXT, idx INT) RETURNS TEXT
NO SQL
BEGIN
     RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(CONCAT(s, ','), ',' , idx),
',' , -1);
END
//
 使い方は
こんな感じ
mysql> select EZSPLIT('a,b,c',2);
+--------------------+
| EZSPLIT('a,b,c',2) |
+--------------------+
| b                  |
+--------------------+
1 row in set (0.00 sec)

何番目かの指定は1スタートとなっています。


リアクション: 
ストアド 4880199430354965337

コメントを投稿

ホーム item

このブログを検索

Random Posts

Popular Posts

Labels

ADS