
select
case
when
charindex('g',isnull(DescFlexField_PrivateDescSeg3,''))=0
then
cast(0
as
decimal(18,3))
when
charindex('g',isnull(DescFlexField_PrivateDescSeg3,''))>0
then
cast(SUBSTRING(isnull(DescFlexField_PrivateDescSeg3,''),0,LEN(isnull(DescFlexField_PrivateDescSeg3,'')))
as
decimal(18,3))
else
cast(DescFlexField_PrivateDescSeg3
as
decimal(18,3))
end
from
sm_so
,每个字段都进行一次类型转换
累加是可以,问题是你想怎样加,加几次
例如加10次:
declare @i int,@a int
declare @Time_qian datetime,@Time datetime
set @i =0
set @a = 0
while @i < 10
begin
set @a = @a+ATEDIFF(Minute, @Time_qian, @Time)
set @i=@i+1
end
numeric 和 decimal 数据类型的默认最大精度值是 38。在 Transact-SQL 中,numeric 与 decimal 数据类型在功能上等效。
decimal(numeric ) 同义,用于精确存储数值
decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边。decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。
NUMERIC(P,S) P的默认值是:38 S的默认值是:-84~127
numeric(a,b)函数有两个参数,前面一个为总的位数,后面一个参数是小数点后的位数,例如numeric(5,2)是总位数为5,小数点后为2位的数,也就是说这个字段的整数位最大是3位。
decimal(18,0),数值中共有18位数,其中整数占18位,小数占0位。Decimal(n,m)表示数值中共有n位数,其中整数n-m位,小数m位。
例:decimal(2,1),此时,插入数据“123”、“12”等会出现“数据溢出错误”的异常;插入“123”或“12345”会自动四舍五入成“12”;插入“2”会自动补成“20”,以确保2位的有效长度,其中包含1位小数。
当用int类型会有溢出时,可以用decimal类型进行处理,把结果可以用convert或是cast进行转换。
扩展资料:
Decimal数据类型Decimal变量存储为96位(12个字节)无符号的整型形式,并除以一个10的幂数。这个变比因子决定了小数点右面的数字位数,其范围从0到28。变比因子为0(没有小数位)的情形下,最大的可能值为/-79,228,162,514,264,337,593,543,950,335。
在有28个小数位的情况下,最大值为/-7,而最小的非零值为/-0。注意此时,Decimal数据类型只能在Variant中使用,也就是说,不能声明一变量为Decimal的类型。
不过可用Cdec函数,创建一个子类型为Decimal的Variant。这样就对了。Decimal类型消除了发生在各种浮点运算中的舍入误差,并可以准确地表示28个小数位。
4是(有效位数:可储存的最大十进位数总数,小数点左右两侧都包括在内。有效位数必须是 1 至最大有效位数 38 之间的值。预设有效位数是 18。)
1是 (小数位数:小数点右侧所能储存的最大十进位数。小数位数必须是从 0 到 4 的值。只有在指定了有效位数时,才能指定小数位数。预设小数位数是 0;因此,0 <= 1 <= 4。最大储存体大小会随著有效位数而不同。)
方法是updateCHELIANG_MINGDANsetclmd_yunxuzaizhong=cast(clmd_yunxuzaizhong/1000asdecimal(14,4))whereclmd_yunxuzaizhongisnotnullupdateCHELIANG_MINGDANsetclmd_carweight=cast(clmd_carweight/1000asdecimal(14,4))whereclmd_carweightisnotnull
sql是结构化查询语言(StructuredQueryLanguage)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
以上就是关于在sql server数据库中将一个nvarchar类型的空值转换成decimal(18,3)类型全部的内容,包括:在sql server数据库中将一个nvarchar类型的空值转换成decimal(18,3)类型、SQL中 DATEDIFF函数结果转化为decimal或其他数据类型、请问下SQL中NUMERIC和DECIMAL的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)