So-net無料ブログ作成

SQLの基本-文字列操作関数編 [SQL]

SQLの基本-文字列操作関数編

文字列の値の調査や操作のための関数をまとめてみました。 使用法は、特に難しくもなく引数から連想できるものばかりなのでサンプルは不要としました。

・文字を文字コードに変換(最初の1バイト)

Oracle MySQL PostgreSQL SQL Server
ASCII(文字列) ASCII(文字列)
HEX(文字列式) 16進の文字コードを返す
ASCII(文字列) ASCII(文字列)
UNICODE(文字列)



・数値を文字に変換

Oracle MySQL PostgreSQL SQL Server
  HEX(16進数値)   STR(数値, 桁数, 小数点以下の桁数)



・文字列のエスケープ表現
文字列内の引用符やバックスラッシュがSQLで処理されるように文字列を作成する。

Oracle MySQL PostgreSQL SQL Server
QUOTE(文字列式)



・文字列の結合

Oracle MySQL PostgreSQL SQL Server
CONCAT(文字列式,文字列式) CONCAT(文字列式,文字列式 [, 文字列式・・・])
CONCAT_WS(区切り文字, 文字列式 [, 文字列式・・・]))
文字列式 || 文字列式 文字列式 + 文字列式



・文字数の取得

Oracle MySQL PostgreSQL SQL Server
LENGTH(文字列式) CHARACTER_LENGTH(文字列式)
CHAR_LENGTH(文字列式)
LENGTH(文字列式)
CHARACTER_LENGTH(文字列式)
CHAR_LENGTH(文字列式)
LEN(文字列式)



・文字列のバイト数

Oracle MySQL PostgreSQL SQL Server
LENGTHB(文字列式) OCTET_LENGTH(文字列式)
>LENGTH(文字列式)
OCTET_LENGTH(文字列式)  



・英字の小文字変換

Oracle MySQL PostgreSQL SQL Server
LOWER(文字列式)
全角アルファベットも対象
LOWER(文字列式)
LCASE(文字列式)
LOWER(文字列式)
LCASE(文字列式)
LOWER(文字列式)
全角アルファベットも対象



・英字の大文字変換

Oracle MySQL PostgreSQL SQL Server
UPPER(文字列式)
全角アルファベットも対象
UPPER(文字列式)
UCASE(文字列式)
UPPER(文字列式)
UCASE(文字列式)
UPPER(文字列式)
全角アルファベットも対象



・単語のキャピタライズ
単語の先頭文字を大文字に変換します。

Oracle MySQL PostgreSQL SQL Server
INITCAP(文字列式)
全角アルファベットも対象
UPPER(文字列式)
UCASE(文字列式)
   



・文字列の反転

Oracle MySQL PostgreSQL SQL Server
  REVERSE(文字列式)   REVERSE(文字列式)



・文字列の長さ分指定文字で埋める

Oracle MySQL PostgreSQL SQL Server
LPAD(文字列式, 数値式, 埋め文字列)
RPAD(文字列式, 数値式, 埋め文字列)
LPAD(文字列式, 数値式, 埋め文字列)
RPAD(文字列式, 数値式, 埋め文字列)
LPAD(文字列式, 数値式[, 埋め文字列])
RPAD(文字列式, 数値式[, 埋め文字列])
 



・文字列の空白の除去

Oracle MySQL PostgreSQL SQL Server
LTRIM(文字列式)
RTRIM(文字列式)
LTRIM(文字列式)
RTRIM(文字列式)
LTRIM(文字列式)
RTRIM(文字列式)
LTRIM(文字列式)
RTRIM(文字列式)



・文字列から指定文字列の除去

Oracle MySQL PostgreSQL SQL Server
TRIM([{LEADING | TRAILING | BOTH}] 文字列式 [ FROM 削除文字列式]) TRIM([{LEADING | TRAILING | BOTH}] 文字列式 [ FROM 削除文字列式]) TRIM([{LEADING | TRAILING | BOTH}] 文字列式 [ FROM 削除文字列式])  



・空白文字列の作成

Oracle MySQL PostgreSQL SQL Server
  SPACE(数値式)   SPACE(数値式)



・連続文字列の作成

Oracle MySQL PostgreSQL SQL Server
  REPEAT(文字列式, 数値式) REPEAT(文字列式, 数値式) REPLICATE(文字列式, 数値式)



・文字列の検索(文字位置)

Oracle MySQL PostgreSQL SQL Server
INSTR(文字列式,検索文字列式[, 開始位置[,発見場所数指定]])
INSTRB(文字列式,検索文字列式[, 開始位置[,発見場所数指定]])
LOCATE(文字列式,検索文字列式[, 開始位置])
POSSTR(文字列式,検索文字列式)
INSTR(文字列式,検索文字列式[, 開始位置])
POSITION(検索文字列式 IN 文字列式)
POSITION(検索文字列式 IN 文字列式) CHARINDEX(文字列式,検索文字列式[, 開始位置])



・文字の置換え
TRANSLATEは、検索文字列式と置換文字列式を一文字づつ対応させて置き換えます。
REPLACEは、単語単位の置換えです。
例:
 文字列式=abcdefdcba
 検索文字列式=abcd
 置換文字式=置換文字
 
TRANSLATE(文字列式, 検索文字列式, 置換文字列式) → 置換文字ef字文換置
REPLACE(文字列式, 検索文字列式, 置換文字列式)  → 置換文字efdcba

Oracle MySQL PostgreSQL SQL Server
TRANSLATE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式) TRANSLATE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式)
REPLACE(文字列式, 検索文字列式, 置換文字列式)



・文字列の一部置換と挿入

Oracle MySQL PostgreSQL SQL Server
  INSERT(文字列式, 入れ替え位置, 置換文字数, 置換文字列式)   STUFF(文字列式, 入れ替え位置, 置換文字数, 置換文字列式)



・文字列の左右の取得

Oracle MySQL PostgreSQL SQL Server
LEFT(文字列式,数値式)
RIGHT(文字列式,数値式)
  LEFT(文字列式,数値式)
RIGHT(文字列式,数値式)



・文字列の一部の取得

Oracle MySQL PostgreSQL SQL Server
SUBSTR(文字列式, 数値式1, 数値式2) SUBSTR(文字列式, 数値式1, 数値式2)
SUBSTRING(文字列式, 数値式1[, 数値式2])
SUBSTRING(文字列式 FROOM 数値式1[ FOR 数値式2])
MID(文字列式, 数値式1, 数値式2)
SUBSTR(文字列式, 数値式1, 数値式2)
SUBSTRING(文字列式, 数値式1[, 数値式2])
SUBSTRING(文字列式 FROOM 数値式1[ FOR 数値式2])
SUBSTRING(文字列式, 数値式1[, 数値式2])


nice!(2)  コメント(3)  トラックバック(1) 
共通テーマ:パソコン・インターネット

nice! 2

コメント 3

Amanojyaku

RAVさん、nice有難うございます。
by Amanojyaku (2007-10-11 13:59) 

なかにし

SQL Serverの文字列の結合は、
 文字列式 || 文字列式
ではなく
 文字列式 + 文字列式
では?
by なかにし (2008-01-23 13:55) 

Amanojyaku

なかにしさん

ご指摘有難うございます。
修正します。
by Amanojyaku (2008-02-01 21:11) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。