#はじめに
- 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関数はまとめておきたいところ。
#参考資料