はじめに
- SQLでよく使われる文字列関数をまとめてみました
- OracleとSQL Serverの対応表も記載しています
文字列関数集
文字列を大文字に変換したい
DBMS |
関数 |
Oracle |
UPPER(文字列) |
SQL Server |
UPPER(文字列) |
元の文字列 |
変換後の文字列 |
strTest |
STRTEST |
文字列を小文字に変換したい
DBMS |
関数 |
Oracle |
LOWER(文字列) |
SQL Server |
LOWER(文字列) |
元の文字列 |
変換後の文字列 |
strTest |
strtest |
単語の先頭文字だけ大文字にしたい
DBMS |
関数 |
Oracle |
INITCAP(文字列) |
SQL Server |
INITCAP(文字列) |
元の文字列 |
変換後の文字列 |
test words |
Test Words |
単語の区切り:空白、または英数字以外の文字
特定の桁数にして表示したい
DBMS |
関数 |
Oracle |
LPAD(文字列, 桁数, 埋め込み文字) |
SQL Server |
FORMAT(値, フォーマット) |
元の文字列 |
変換後の文字列 例:6桁出力 |
24 |
000024 |
Oracle
--処理対象カラム名:numstr
SELECT LPAD(numstr, 6, '0') FROM test_table;
SQLServer
--処理対象カラム名:numstr
SELECT FORMAT(numstr, '000000') FROM test_table;
複数の文字列を結合して表示したい
DBMS |
関数 |
Oracle(パターン1) |
文字列1 || 文字列2 |
Oracle(パターン2) |
CONCAT(文字列1, 文字列2) |
SQL Server |
文字列1 + 文字列2 |
文字列1 |
文字列2 |
変換後の文字列 |
たなか |
たろう |
たなかたろう |
Oracle
--処理対象カラム名:str1, str2
SELECT str1 || str2 FROM test_table; --パターン1
SELECT CONCAT(str1, str2) FROM test_table; --パターン2
SQLServer
--処理対象カラム名:str1, str2
SELECT str1 + str2 FROM test_table;
最後に
今後も追記修正していきます。せめてTRIM関数はまとめておきたいところ。
参考資料