跳转至

Cast(类型转换(Cast))

Supported in: Batch, Faster, Streaming

Cast expression to given type.

Expression categories: Cast, Popular

Declared arguments

  • Expression: Expression to cast.
    Expression\
  • Type: Type to cast to.
    Type\

Type variable bounds: C accepts AnyType

Output type: C

Examples

Example 1: Base case

Argument values:

  • Expression: a
  • Type: Array\
a Output
[ 12.3, 20.1 ] [ 12.3, 20.1 ]

Example 2: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
[ {
date: 2020-01-01,
foo: false,
time: 2020-10-01T00:00:01Z,
} ]
[{false, 2020-10-01 00:00:01, 2020-01-01}]

Example 3: Base case

Argument values:

  • Expression: a
  • Type: Array\
a Output
[ 12.3, 20.1 ] [ 12.3, 20.1 ]

Example 4: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
[ true, false ] [true, false]

Example 5: Base case

Description: Casting string to long

Argument values:

  • Expression: 1234
  • Type: Long

Output: 1234


Example 6: Base case

Description: Casting long to string

Argument values:

  • Expression: 1234
  • Type: String

Output: 1234


Example 7: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
true true
false false
null null

Example 8: Base case

Argument values:

  • Expression: a
  • Type: Date
a Output
2020-01-01 2020-01-01
null null

Example 9: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
{
 1 -> true,
 2 -> false,
}
{1 -> true, 2 -> false}

Example 10: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
[ [ true, false ], [ true ] ] [[true, false], [true]]

Example 11: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
{
 foo -> {
 1 -> true,
 2 -> false,
},
}
{foo -> {1 -> true, 2 -> false}}

Example 12: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
{
a: {
bar: false,
foo: 1,
},
}
{{1, false}}

Example 13: Base case

Description: Casting string to decimal

Argument values:

  • Expression: 1234
  • Type: Decimal(4, 0)

Output: 1234


Example 14: Base case

Argument values:

  • Expression: a
  • Type: Integer
a Output
1 1
1.0 null
null null

Example 15: Base case

Argument values:

  • Expression: a
  • Type: Long
a Output
1 1
1.0 null
null null

Example 16: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
{
bar: null,
foo: 1,
}
{1, null}

Example 17: Base case

Argument values:

  • Expression: a
  • Type: String
a Output
{
bar: false,
foo: 1,
}
{1, false}

Example 18: Null case

Argument values:

  • Expression: a
  • Type: String
a Output
[ true, null ] [true, null]
null null

Example 19: Null case

Argument values:

  • Expression: a
  • Type: String
a Output
{
 1 -> null,
 2 -> false,
}
{1 -> null, 2 -> false}

Example 20: Null case

Argument values:

  • Expression: a
  • Type: Date
a Output
null null


中文翻译

类型转换(Cast)

支持:批处理(Batch)、快速处理(Faster)、流处理(Streaming)

将表达式转换为指定类型。

表达式类别: 类型转换(Cast)、常用(Popular)

声明参数

  • 表达式(Expression): 待转换的表达式。
    Expression\
  • 类型(Type): 转换的目标类型。
    Type\

类型变量约束: C 接受 AnyType

输出类型: C

示例

示例 1:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): Array\
a 输出(Output)
[ 12.3, 20.1 ] [ 12.3, 20.1 ]

示例 2:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
[ {
date: 2020-01-01,
foo: false,
time: 2020-10-01T00:00:01Z,
} ]
[{false, 2020-10-01 00:00:01, 2020-01-01}]

示例 3:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): Array\
a 输出(Output)
[ 12.3, 20.1 ] [ 12.3, 20.1 ]

示例 4:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
[ true, false ] [true, false]

示例 5:基础情况

描述: 将字符串转换为长整型(Long)

参数值:

  • 表达式(Expression): 1234
  • 类型(Type): Long

输出(Output): 1234


示例 6:基础情况

描述: 将长整型(Long)转换为字符串

参数值:

  • 表达式(Expression): 1234
  • 类型(Type): String

输出(Output): 1234


示例 7:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
true true
false false
null null

示例 8:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): Date
a 输出(Output)
2020-01-01 2020-01-01
null null

示例 9:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
{
 1 -> true,
 2 -> false,
}
{1 -> true, 2 -> false}

示例 10:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
[ [ true, false ], [ true ] ] [[true, false], [true]]

示例 11:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
{
 foo -> {
 1 -> true,
 2 -> false,
},
}
{foo -> {1 -> true, 2 -> false}}

示例 12:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
{
a: {
bar: false,
foo: 1,
},
}
{{1, false}}

示例 13:基础情况

描述: 将字符串转换为十进制数(Decimal)

参数值:

  • 表达式(Expression): 1234
  • 类型(Type): Decimal(4, 0)

输出(Output): 1234


示例 14:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): Integer
a 输出(Output)
1 1
1.0 null
null null

示例 15:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): Long
a 输出(Output)
1 1
1.0 null
null null

示例 16:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
{
bar: null,
foo: 1,
}
{1, null}

示例 17:基础情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
{
bar: false,
foo: 1,
}
{1, false}

示例 18:空值情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
[ true, null ] [true, null]
null null

示例 19:空值情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): String
a 输出(Output)
{
 1 -> null,
 2 -> false,
}
{1 -> null, 2 -> false}

示例 20:空值情况

参数值:

  • 表达式(Expression): a
  • 类型(Type): Date
a 输出(Output)
null null