Sql 在teradata中将十进制转换为整数
我对Teradata执行了上述查询,这两个查询都产生了下限值 这是从12月到整型的硬性规定吗?也就是说,它是否总是返回下限值?是的。 如果将十进制值转换为整数,小数位数将丢失。这是所有语言(我知道)的情况。是的。Sql 在teradata中将十进制转换为整数,sql,teradata,Sql,Teradata,我对Teradata执行了上述查询,这两个查询都产生了下限值 这是从12月到整型的硬性规定吗?也就是说,它是否总是返回下限值?是的。 如果将十进制值转换为整数,小数位数将丢失。这是所有语言(我知道)的情况。是的。 如果将十进制值转换为整数,小数位数将丢失。这是所有语言(我知道)的情况。正如juergen_d已经说过的,这应该是任何语言的默认值 当您想要舍入而不是截断时,您可以执行强制转换(9.9作为DEC(9,0))或者在TD14中也有舍入功能。但是请注意,舍入有两种算法,请检查您的系统是否使用
如果将十进制值转换为整数,小数位数将丢失。这是所有语言(我知道)的情况。正如juergen_d已经说过的,这应该是任何语言的默认值
当您想要舍入而不是截断时,您可以执行强制转换(9.9作为DEC(9,0))或者在TD14中也有舍入功能。但是请注意,舍入有两种算法,请检查您的系统是否使用您想要的算法:-)正如juergen_d已经说过的,这应该是任何语言的默认值
当您想要舍入而不是截断时,您可以执行强制转换(9.9作为DEC(9,0))或者在TD14中也有舍入功能。但是请注意,舍入有两种算法,请检查您的系统是否使用了您想要的算法:-)您使用的是哪个版本的TD?如果是14,是否只使用CEIL函数 如果在那之前,也许尝试一下
sel cast(9.1 as integer)as inttt;
Result:
9
sel cast(9.9 as integer)as inttt;
Result:
9
CASE-WHEN-CAST CAST(编号为DEC(9,0)
(您可以根据自己的舍入逻辑进行调整)您使用的是哪一版本的TD?如果是14,只需使用CEIL功能即可 如果在那之前,也许尝试一下
sel cast(9.1 as integer)as inttt;
Result:
9
sel cast(9.9 as integer)as inttt;
Result:
9
CASE-WHEN-CAST CAST(编号为DEC(9,0)
(您可以根据自己的舍入逻辑进行调整)以下代码可用于对十进制数进行舍入:
CASE WHEN CAST(number AS DEC(9,0) < number THEN CAST(number AS
DEC(9,0) + 1 ELSE CAST(number AS DEC(9,0)
以下代码可用于对十进制数进行四舍五入:
CASE WHEN CAST(number AS DEC(9,0) < number THEN CAST(number AS
DEC(9,0) + 1 ELSE CAST(number AS DEC(9,0)
试试这个
Select CAST(number + 0.5 AS integer) from sometable
试试这个
Select CAST(number + 0.5 AS integer) from sometable