7.15.2. cast_loose
¶
7.15.2.1. 概要¶
バージョン 8.0.8 で追加.
cast_loose
は文字列を指定した型へ緩くキャストします。対象の文字列がキャストできる場合、 cast_loose
は、文字列を引数で指定された型にキャストします。対象の文字列がキャストできない場合、 cast_loose
は、引数で指定されたデフォルト値を設定します。
7.15.2.2. 構文¶
cast_loose
は3つの引数を受け取ります。
cast_loose(type, value, defaul_value)
type
: キャスト後の値の型を指定します。
value
: キャスト対象を指定します。
default_value
: キャストに失敗した時に設定する値を指定します。
7.15.2.3. 使い方¶
使い方を示すために使うスキーマ定義とサンプルデータは以下の通りです。
実行例:
table_create Data TABLE_HASH_KEY ShortText
# [[0, 1337566253.89858, 0.000355720520019531], true]
load --table Data
[
{"_key": "100abc"}
{"_key": "100"}
]
# [[0, 1337566253.89858, 0.000355720520019531], 2]
以下の例では、"100"と"100abc"を cast_loose
でキャストします。
実行例:
select Data --output_columns '_key, cast_loose(Int64, _key, 10)'
# [
# [
# 0,
# 0.0,
# 0.0
# ],
# [
# [
# [
# 2
# ],
# [
# [
# "_key",
# "ShortText"
# ],
# [
# "cast_loose",
# null
# ]
# ],
# [
# "100abc",
# 10
# ]
# [
# "100",
# 100
# ]
# ]
# ]
# ]
cast_loose
は"100"を100に"100abc"を10にキャストします。"100"はInt64にキャストできますが、"100abc"はInt64にキャストできないためです。
7.15.2.4. 戻り値¶
cast_loose
はキャスト後の値かデフォルト値を返します。