SQLite 文字列関数
Atlassian Analytics は SQLite を使用して、クエリ以外の Visual SQL ステップを強化しています。文字列や数値に使用できるコア関数はたくさんありますが、ここでは、文字列に使用できる一般的な関数をいくつか紹介します。
LENGTH(X)
LENGTH("column name")
文字列の文字数を返します。
LOWER(X)
LOWER("column name")
文字列をすべて小文字に変換します。
UPPER(X)
UPPER("column name")
文字列をすべて大文字に変換します。
REPLACE(X, Y, Z)
REPLACE("column name", 'replace_this', 'with_this')
文字列の文字または部分文字列を別の文字または文字列に置き換えます。
X
は、置換する文字または文字列を含む文字列を表します。Y
は、置換する文字または部分文字列を表します。Z
は、Y
の置換に使用される文字または文字列を表します。
INSTR(X, Y)
文字列内の文字の位置を検索します。
X
は、位置を取得する文字を含む文字列を表します。Y
は、位置を取得する文字列を表します。
その文字が文字列に複数回出現する場合、この関数は最初に出現する位置を返します。
SUBSTR(X, Y, Z)
SUBSTR("column name",'start_position','length')
作業している文字列の部分文字列を取得します。
X
は、部分文字列を取得する文字列を表します。Y
は、部分文字列を取得する開始位置を表します (文字列の最初の文字位置は常に 1 です)。Z
(オプション、省略可) は、結果文字列の文字数を表します。
SUBSTR() を使用して電話番号をフォーマットする
If you have a phone number column in the format 5556667777, but you want the format (555) 666-7777, you can format it using the SUBSTR()
function.
カスタム数式では、次の SUBSTR()
関数を使用します。
'('||SUBSTR("Phone",1,3)||')'||' '||SUBSTR("Phone",4,3)||'-'||SUBSTR("Phone",7,4)
Phone
を電話番号が含まれる列の名前に置き換えます。
SUBSTR() を使用してメールからドメイン名を取得する
さらに複雑な例を見てみましょう。各ユーザーの会社メールからドメイン名を取得するとします。メールは myname@mycompany.com
のような一般的な形式に沿っていることがわかっています。
最終的な SUBSTR()
関数をもう少し理解しやすくするために、INSTR()
関数を使用して 2 つの情報を取得しましょう。
各メールでの
@
の位置 (この列を「Position of @」と呼びます。)INSTR("Email", '@')
各メールでの
.com
の位置 (この列を「Position of .com」と呼びます。)INSTR("Email", '@')
それでは、メールからドメインを取得する方法を確認しましょう。SUBSTR()
関数には、X、Y、Z という 3 つのパラメーターがあることを思い出してください。
X の値はメール アドレスを含む列で、簡単なものは
“Email”
です。Our Y value needs to be the position after the
@
position:"Position of @"+1
Our Z value needs to be the length of the domain, which we can get by subtracting our Y value from the position before the
.com
(in other words,(Z-1)-Y
):("Position of .com"-1)-"Position of @"
最終的な SUBSTR()
式は次のとおりです。
SUBSTR("Email","Position of @"+1,("Position of .com"-1)-"Position of @")
少し手間がかかりましたが、各ユーザーのメールからドメイン名を正常に取得できました。
この内容はお役に立ちましたか?