Sql中CAST用法介绍

1、cast用法简介:

CAST (expression AS data_type)
参数说明:
expression:任何有效的SQServer表达式。
AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

使用CAST函数进行数据类型转换时,在下列情况下能够被接受:
(1)两个表达式的数据类型完全相同。
(2)两个表达式可隐性转换。
(3)必须显式转换数据类型。

2、示例

看代码时,发现有如下这句:

IF(preweek_group < 0, -1, CAST(t1.preweek_group / 2 AS BIGINT) * 2) AS preweek_group

t1.preweek_group范围为:0,1,2,3,4,5,6,7,。。。,37,38

CAST(t1.preweek_group / 2 AS BIGINT)

范围为:0,1,2,3,4,。。。,19奇数

CAST(t1.preweek_group / 2 AS BIGINT) * 2

范围为:0,2,4,。。。,38 偶数

IF(preweek_group < 0, -1, CAST(t1.preweek_group / 2 AS BIGINT) * 2) AS preweek_group

最终范围为:如果没有指定,则默认-1;其他则是归到0,2,4,6,8,。。。,38这20个偶数中。

猜你喜欢

转载自blog.csdn.net/weixin_41770169/article/details/82857145