7.15.2. cast_loose¶
7.15.2.1. Summary¶
New 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,
#     0.0,
#     0.0
#   ],
#   [
#     [
#       [
#         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.