標準はあるにはあるが癖の多いSQL 全部俺 #13 あると便利ですが意外となかったり Tweet
標準はあるにはあるが癖の多いSQL 全部俺w Advent Calendar 2020の13日目です。
ゼェゼェ。半ばに差し掛かりネタはあるものの書くことに疲れつつあるw (頑張れ自分w
と言うことで、今日は、あれば便利なので使ったりしますが、意外とありそうでなかったりする INITCAP()
この関数単語の先頭を大文字にしてくれる関数ですが、 MySQLの組み込み関数にはなかったりします。PostgreSQLにはあったり。
最初は
Oracleから。
INITCAP(char)
https://docs.oracle.com/cd/F19136_01/sqlrf/INITCAP.html#GUID-9FE9E0EE-D6B6-4C2C-BDEF-4FF4E1314560
ORACLE> SELECT INITCAP('oracle') FROM dual;
INITCA
------
Oracle
ORACLE> SELECT INITCAP('oracle-elison') FROM dual;
INITCAP('ORAC
-------------
Oracle-Elison
ORACLE> SELECT INITCAP('oracle,elison') FROM dual;
INITCAP('ORAC
-------------
Oracle,Elison
ORACLE> SELECT INITCAP('oracle|elison') FROM dual;
INITCAP('ORAC
-------------
Oracle|Elison
PostgreSQL
PostgreSQLにはOracleと同じ関数がサポートされています。
initcap(string)
https://www.postgresql.jp/document/12/html/functions-string.html
postgres=> SELECT INITCAP('oracle');
initcap
---------
Oracle
(1 row)
postgres=> SELECT INITCAP('oracle-elison');
initcap
---------------
Oracle-Elison
(1 row)
postgres=> SELECT INITCAP('oracle,elison');
initcap
---------------
Oracle,Elison
(1 row)
postgres=> SELECT INITCAP('oracle|elison');
initcap
---------------
Oracle|Elison
(1 row)
MySQL
個人的に意外だったのはMySQL. INITCAP()サポートされてません。UDFで作り込むしかないですね。
N/A
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html
おまけ、
PostgreSQLを祖先にもつRedshiftにはPostgreSQL同様の関数がありました。
Redshift
INITCAP(string)
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_INITCAP.html
実行計画は、SQL文のレントゲン写真だ! Oracle Database編 (全部俺) Advent Calendar 2019
・標準はあるにはあるが癖の多いSQL 全部俺 #1 Pagination
・標準はあるにはあるが癖の多いSQL 全部俺 #2 関数名は同じでも引数が逆の罠!
・標準はあるにはあるが癖の多いSQL 全部俺 #3 データ型確認したい時あるんです
・標準はあるにはあるが癖の多いSQL 全部俺 #4 リテラル値での除算の内部精度も違うのよ!
・標準はあるにはあるが癖の多いSQL 全部俺 #5 和暦変換機能ある方が少数派
・標準はあるにはあるが癖の多いSQL 全部俺 #6 時間厳守!
・標準はあるにはあるが癖の多いSQL 全部俺 #7 期間リテラル!
・標準はあるにはあるが癖の多いSQL 全部俺 #8 翌月末日って何日?
・標準はあるにはあるが癖の多いSQL 全部俺 #9 部分文字列の扱いでも癖が出る><
・標準はあるにはあるが癖の多いSQL 全部俺 #10 文字列連結の罠(有名なやつ)
・標準はあるにはあるが癖の多いSQL 全部俺 #11 デュエル、じゃなくて、デュアル
・標準はあるにはあるが癖の多いSQL 全部俺 #12 文字[列]探すにも癖がある
| 固定リンク | 0
コメント