📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

文字列関数



このページでは、TiDB Cloud Lake の文字列関数について、参照しやすいように機能別に整理して包括的に紹介します。

文字列の連結と操作

関数説明例
CONCAT文字列を連結しますCONCAT('data', 'lake') → 'datalake'
CONCAT_WS区切り文字を使って文字列を連結しますCONCAT_WS('-', 'data', 'lake') → 'data-lake'
INSERT指定した位置に文字列を挿入しますINSERT('datalake', 5, 0, 'cloud') → 'datacloudlake'
REPLACE部分文字列の出現箇所を置換しますREPLACE('datalake', 'lake', 'cloud') → 'datacloud'
TRANSLATE文字を対応する置換文字に置き換えますTRANSLATE('datalake', 'de', 'DE') → 'DatalakE'

文字列の抽出

関数説明例
LEFT左端から指定した文字数を返しますLEFT('datalake', 4) → 'data'
RIGHT右端から指定した文字数を返しますRIGHT('datalake', 4) → 'lake'
SUBSTR / SUBSTRING部分文字列を抽出しますSUBSTR('datalake', 5, 4) → 'lake'
MID部分文字列を抽出します(SUBSTRING のエイリアス)MID('datalake', 5, 4) → 'lake'
SPLIT文字列を配列に分割しますSPLIT('data,lake', ',') → ['data', 'lake']
SPLIT_PART分割後の特定の部分を返しますSPLIT_PART('data,lake', ',', 2) → 'lake'
REGEXP_SPLIT_TO_ARRAY指定したパターンを使って文字列をセグメントの配列に分割しますregexp_split_to_array('apple,banana,orange', ','); → '['apple','banana','orange']'
REGEXP_SPLIT_TO_TABLE指定したパターンを使って文字列をセグメントのテーブルに分割しますregexp_split_to_table('data,lake', ',', 2)

文字列のパディングと書式設定

関数説明例
LPAD文字列の左側を埋めて指定した長さにしますLPAD('lake', 8, 'data') → 'datalake'
RPAD文字列の右側を埋めて指定した長さにしますRPAD('data', 8, 'lake') → 'datalake'
REPEAT文字列を n 回繰り返しますREPEAT('data', 2) → 'datadata'
SPACE空白文字からなる文字列を返しますSPACE(4) → ' '
REVERSE文字列を逆順にしますREVERSE('datalake') → 'ekalatad'

文字列のトリミング

関数説明例
TRIM先頭と末尾の空白を削除しますTRIM(' datalake ') → 'datalake'
TRIM_BOTH両端から指定した文字を削除しますTRIM_BOTH('xxdatalakexx', 'x') → 'datalake'
TRIM_LEADING先頭から指定した文字を削除しますTRIM_LEADING('xxdatalake', 'x') → 'datalake'
TRIM_TRAILING末尾から指定した文字を削除しますTRIM_TRAILING('datalakexx', 'x') → 'datalake'
LTRIM先頭の空白を削除しますLTRIM(' datalake') → 'datalake'
RTRIM末尾の空白を削除しますRTRIM('datalake ') → 'datalake'

文字列情報

関数説明例
LENGTH文字数で文字列の長さを返しますLENGTH('datalake') → 8
CHAR_LENGTH / CHARACTER_LENGTH文字数で文字列の長さを返しますCHAR_LENGTH('datalake') → 8
BIT_LENGTHビット数で文字列の長さを返しますBIT_LENGTH('datalake') → 64
OCTET_LENGTHバイト数で文字列の長さを返しますOCTET_LENGTH('datalake') → 8
INSTR最初に出現する位置を返しますINSTR('datalake', 'lake') → 5
LOCATE最初に出現する位置を返しますLOCATE('lake', 'datalake') → 5
POSITION最初に出現する位置を返しますPOSITION('lake' IN 'datalake') → 5
STRCMP2 つの文字列を比較しますSTRCMP('datalake', 'datalake') → 0
JARO_WINKLER文字列間の類似度を返しますJARO_WINKLER('datalake', 'datalake') → 1.0

大文字・小文字の変換

関数説明例
LOWER / LCASE小文字に変換しますLOWER('DataLake') → 'datalake'
UPPER / UCASE大文字に変換しますUPPER('datalake') → 'DATALAKE'

パターンマッチング

関数説明例
LIKEワイルドカードを使ったパターンマッチング'datalake' LIKE 'data%' → true
NOT_LIKELIKE の否定'datalake' NOT LIKE 'cloud%' → true
REGEXP / RLIKE正規表現を使ったパターンマッチング'datalake' REGEXP '^data' → true
NOT_REGEXP / NOT_RLIKE正規表現マッチングの否定'datalake' NOT REGEXP '^cloud' → true
REGEXP_LIKE正規表現に一致するかどうかをブール値で返しますREGEXP_LIKE('datalake', '^data') → true
REGEXP_INSTR正規表現に一致した位置を返しますREGEXP_INSTR('datalake', 'lake') → 5
REGEXP_SUBSTR正規表現に一致する部分文字列を返しますREGEXP_SUBSTR('datalake', 'lake') → 'lake'
REGEXP_REPLACE正規表現に一致した部分を置換しますREGEXP_REPLACE('datalake', 'lake', 'cloud') → 'datacloud'
GLOBUnix スタイルのパターンマッチング'datalake' GLOB 'data*' → true

エンコードとデコード

関数説明例
ASCII先頭文字の ASCII 値を返しますASCII('D') → 68
ORD先頭文字の Unicode コードポイントを返しますORD('D') → 68
CHAR / CHR指定した Unicode コードポイントに対応する文字列を返しますCHAR(68,97,116,97) → 'Data'
BIN2 進表現を返しますBIN(5) → '101'
OCT8 進表現を返しますOCT(8) → '10'
HEX16 進表現を返しますHEX('ABC') → '414243'
UNHEX16 進数をバイナリに変換しますUNHEX('414243') → 'ABC'
TO_BASE64base64 にエンコードしますTO_BASE64('datalake') → 'ZGF0YWxha2U='
FROM_BASE64base64 からデコードしますFROM_BASE64('ZGF0YWxha2U=') → 'datalake'

その他

関数説明例
QUOTESQL 用に文字列をエスケープしますQUOTE('datalake') → '"datalake"'
SOUNDEXsoundex コードを返しますSOUNDEX('datalake') → 'D42'
SOUNDSLIKEsoundex 値を比較しますSOUNDSLIKE('datalake', 'datalake') → true

このページは役に立ちましたか?