7.15.2. cast_loose
#
7.15.2.1. Summary#
Added in version 8.0.8.
cast_loose
cast loosely a string to the type specified.
If the target string can cast, cast_loose
has cast the string to the type specified by the argument.
If the target string can’t cast, cast_loose
set the default value specified by the argument.
7.15.2.2. Syntax#
cast_loose
has three parameters:
cast_loose(type, value, defaul_value)
type
: Specify the type of after casted value.
value
: Specify the target of a cast.
default_value
: Speficy the value of setting when failed a cast.
7.15.2.3. Usage#
Here are a schema definition and sample data to show usage.
Execution example:
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]
The following example is cast “100” and “100abc” with cast_loose
.
Execution example:
select Data --output_columns '_key, cast_loose(Int64, _key, 10)'
# [
# [
# 0,
# 1337566253.89858,
# 0.000355720520019531
# ],
# [
# [
# [
# 2
# ],
# [
# [
# "_key",
# "ShortText"
# ],
# [
# "cast_loose",
# null
# ]
# ],
# [
# "100abc",
# 10
# ],
# [
# "100",
# 100
# ]
# ]
# ]
# ]
cast_loose
cast “100” to 100 and “100abc” to 10.
Because “100” can cast to the Int64 and “100abc” can’t cast to the Int64.
7.15.2.4. Return value#
cast_loose
returns the casted value or default value.