sql数据类型decimal(18, 2) 转换decimal(18, 3)

数据库有个字段是decimal(18, 2)类型,现在需要改成decimal(18, 3) 。因为数据库已经有数据了,现在直接修改数据类型会不会造成此字段数据丢失!

0

1个回答

不会,除非之前的数据整数位>=16位,因为你修改之后的字段整数最大只能存15位,而小数位无任何影响,只是最后一位多了一个0。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
不小心又中了decimal的埋伏——重新捋一下decimal的相关知识
大家都知道在程序语言和数据库中各种数字类型decimal,numeric,float,double,real……,有时候不小心就会出现问题,除了掌握基本的数据存储原理,还要仔细了解各个语言和产品里的细节差别,即便如此,一不小心还是有可能中了埋伏。 在SQLserver中Deci
从数据类型 decimal 转换为 numeric 时出错
从数据类型 decimal 转换为 numeric 时出错。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 从数据类型 decimal 转换为 numeric 时出错。 源错误: 行 46:            { 行 47: 
在C#中STRING与DOUBLE/Decimal的转换方法
string strA; double dB; //string转换为double string strA = t1.get_Parameter(BuiltInParameter.RBS_DUCT_BOTTOM_ELEVATION).AsValueString();double dB = double.Parse(strA);//double 转换为string dB = 234.345; str...
关于数据库使用numeric(18,2) ,java后台使用double会出现金额显示问题解决方案。
numeric(18,2) //数据库字段类型 java.math.BigDecimal //Java后台要使用BigDecimal类型
powerbuilder Decimal内部表示方式解析
Decimal是16bytes数据类型。最大精度18位。 如果申明时写:dec var1 = xxx,它内部初始值会自动设置精度: 000014d9h: 01 00 08 00 F6 FF 09 00 00 00 00 00 00 00 B8 00 dec{8} q111111111111111111 = -0.0065535000014d9h: 01 00 0C 00 60 79
数据库 价格字段 设置 decimal(8,2),价格为100W,只显示999999.99
DECIMAL(M,D),M是数字最大位数,D是小数点右侧数字个数,整数M-D位 decimal(8,2)数值范围是 -999999.99 ~ 999999.99 1000000超过了6位,严格模式下报错,非严格模式存成999999.99 官方文档
C#中的decimal类型
 decimal(C#) decimal 关键字指示 128 位数据类型。 与浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。 decimal 类型的大致范围和精度如下所示。
sqlserver decimal转换成int类型的转换出错的另一种解决办法
开发SQLSERVER程序常出现decimal转换成int类型的转换出错, 在VS stdio 里还要改程序,后来想直接在数据库中调整成这样,就可以省去找转换的方法了。 直接用: CAST( fieldname  as int)
PB中Decimal类型精度导致的错误
在项目中涉及到数值型计算,本来小数位数只有2位,可在定义Decimal类型变量是没有定义精度,导致计算错误。数据来源至DataWindow中的Number类型。共3组数据4.52,6,10.67。通过循环读取可读取第一组数据时ldec_upload本应为4.52实际变成了4.519999999999999488随后进行的加减。分析循环:第一次循环后:j = 1ldec_upload = 4.519
MySQL数据类型-decimal详解
1.首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numeric将自动转成decimal。 DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下: ·M是数字的最大数(精度)。其范围为1~65(在较旧的MySQ
decimal 正则表达式
decimal 正则表达式 ^[1-9]\d{0,13}(\.\d{0,4})?$   这个适应于decimal(18,4)
nvarchar 转换decimal 时的细节,弄了两个小时,原来是判断结果写错了
正确写法: SELECT [Km_ID] ,[科目] , convert(decimal(20,2), case when ([支行] IS NULL) or [支行]='' then '0.00' else replace([支行],',','') end ) ,[月份] FROM [icbcFinancial].[dbo].[vi_tmpchen
Hive_2. 数据类型
Github 源码:https://github.com/Hanmourang
mysql中decimal类型详解及类型转换
select name,cast(age/(select sum(age) from boss) as decimal(32,2)) as age from boss; 其中cast是类型转换函数,decimal为一个类型 1.首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,n
sql中将字段转成Decimal
update CHELIANG_MINGDAN set clmd_yunxuzaizhong = cast(clmd_yunxuzaizhong/1000 as decimal(14,4)) where clmd_yunxuzaizhong is not null update CHELIANG_MINGDAN set clmd_carweight = cast(clmd_carweigh
decimal转成纯数字类型
http://www.jb51.net/article/35005.htm
SQL中的DECIMAL()函数
       Decimal为SQL Server 数据类型,属于浮点数类型。一个decimal类型的数据占用了2~17个字节。        Decimal 数据类型Decimal 变量存储为 96 位(12 个字节)无符号的整型形式,        D
数据库保存两位小数类型--Decimal
        昨天有个小需求,要在数据库里保存两种占比的数据,说到占比,我第一反应就是要保存成小数,因为编程经验太少了,不知道要定义成什么类型,搜了一下得知,可以设置成DECIMAL,但我在alter表的时候,写的是DECIMAL类型,但保存之后变成了NUMBER类型,这样我算出来的小数结果就都变成了四舍五入的整数...先说一下,我用的是Oracle数据库。NUMBER的话要设置成 NUMBER...
db2 中的DECIMAL 数字数据类型
使用形式:DECIMAL(p,s) DECIMAL是个十进制数; p是精度,表示这个十进制数的总位数,p应该小于32; s表示小数的位数。s应该小于等于p;如果未指定p是5,s是0;
精确小数类型 Decimal
Decimal为SQL Server、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数。使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间,例如百分比使用decimal(4,2)即可。存储数据范围是:-10^38~10^38-1 的固定精度和小数位的数字。一个decimal类型的数据占用了2~17个字节。...
sql server 中的数据类型隐式转换
数据类型转换分为隐式转换和显示转换 1)显示转换顾名思义使用函数进行数据类型转化,如cast、convert cast 和convert的区别 CAST( expression AS data_type ) CONVERT(data_type[(length)], expression [, style]) 大部分情况下两者执行同样的功能
mysql 字段类型VARCHAR转换成DECIMAL
在我们写代码的实际业务中,有时候实体类用的是String,数据库中自然是VARCHAR类型,但是如果这个实体的属性值放的是数字类型,你查询的时候又需要对它进行排序。sql怎么写呢。        别担心mysql提供了转换方法:CAST  ,CONVERT        例如:我把VARCHAR类型的价格 转换成DECIMAL 然后再进行排序        1.select  pri
SQL中decimal的相关使用
decimal用于表示定点实数,具体使用格式为: decimal[(p[,s])],其中p表示精度,用于指定小数点左边和右边十进制数字的最大位数,取值在1-38之间,缺省值为18,s指定小数点右边十进制数的最大位数,取值在0-p之间缺省值为0(此时小数点后面没有小数位,所有输入的小数位都会被自动四舍五入)。 故而定义了一个decimal类型的变量的时候,要注意这个否则就会发生越界的情况。 ...
mysql数据库中decimal类型详解
mysql数据库中decimal类型详解
DM数据库之Decimal 数据类型 Update 问题
最近在做数据库数据迁移,遇到一个需要把A表里的字段, 赋予B表里的字段。这时候自然就需要Update语句了。 先上数据表一 :  TABLE_A 表二:TABLE_B   现在需求是把表一的字段 MONEY 更新为 表二的MONEY值  如下语句: update  "AUTH_HOUSING_U"."TABLE_A"  a set  money=(select money fro...
sql类型转换和精度控制
查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩 select a.S# , a.Sname , cast(avg(b.score) as decimal(18,2)) avg_score from Student a , sc b where a.S# = b.S# group by a.S# , a.Sname having cast(avg(b.score) as
C#中decimal的用法
decimal拥有比float更高的精度,最高能处理到小数点后面的28位。适合用在财务类等对数字精确度要求比较高的场合。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace cxx { clas
数据库中decimal
它们都是数值数据类型。可以规定其精度。   直接给个例子。   decimal(5,2)    其中 5 为最多可以存储的十进制位数为10位,是小数点前后的位数总和。      2表示小数点后面的位数。      例如100.20是合法的值,而1234.56,总数为6位,为非法的数据值。      有人说那存12345应该可以吧。事
MySQL数据类型DECIMAL用法
MySQL DECIMAL数据类型用于在数据库中存储精确的数值。我们经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。要定义数据类型为DECIMAL的列,请使用以下语法:1column_name  DECIMAL(P,D);在上面的语法中:P是表示有效数字数的精度。 P范围为1〜65。D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(<=)...
SQL 中如何去掉decimal字段後面的0
當我們需要將 DECIMAL 字段的值轉為 VARCHAR 型時, 常常會遇到一個問題:  如果此字段有4位小數, 那小數點後面都會自動被0補齊. 例如: 18.0000 或 12.0300.  轉為 VARCHAR 時后面的0仍然被保留.  T-SQL如下: select top 3 a.el_qty4 ,'('+ cast(a.el_qty4 as varchar(10))+'人)'
Decimal百分数如何保留两位小数
double  i = 6.0/19.0*100;  System.out.println(i);    DecimalFormat formater = new DecimalFormat();  formater.setMaximumFractionDigits(2);  formater.setGroupingSize(0);  formater.setRoundingMode(
使Decimal类型数据保留N位小数且不进行四舍五入操作(C#)
一 问题描述 开发中,需要使Decimal类型数据保留小数点后的两位小数且不需要进行四舍五入操作,即直接截取小数点后面的两位小数即可。例如:1.245M --> 1.24,而不是1.25 使用Decimal.Round()方法可以实现保留Decimal类型数据小数点后的若干位小数,但是该方法会进行四舍五入操作,而不是直接截取。所以,该方法不可取,在网上搜寻一番也没有找到合适的方法,便自己实现了
delphi 与sqlserver的数据类型的比较
<br />sqlserver       Delphi<br />////////////////////////////////////<br />Varchar         :ftString <br />Int                 :ftInteger <br />Bit                 :ftBoolean <br />DateTime       :ftDateTime <br />Binary           :ftBytes <br />BigInt  
Hadoop记录——hive中的decimal字段,shell的数据类型以及sqoop导出空string报错
Hadoop中的一些事情,遇到了就记录下来。 1、hive中的decimal字段对应于pg库中的numeric,默认为(10,0),若不指定,数据将被四舍五入。比如0.82,在hive中会变成1,所以建表时最好指定精度,decimal(10,2)。 2、shell中拼接年月日得到的日期,默认会是int型。 3、sqoop导数时。
数据库中float,double与decimal的区别
1.Decimal 数据包含存储在最小有效数上的数据。在 SQL Server中,小数数据使用 decimal 或 numeric 数据类型存储。存储 decimal 或 numeric 数值所需的字节数取决于该数据的数字总数和小数点右边的小数位数。2.decimal(18,4),decimal(19,1),两者能保存的整数位和小数位不同.create table tb(val1 decimal(
关于数据库字段类型decimal对应Java的BigDecimal类型问题
问题: 当改为空或0时,提交后时无法更改,仍显示改前数据!   原因:在mybatis映射文件中&amp;lt;update&amp;gt;方法: &amp;lt;if test=&quot;orderAmount != null and orderAmount != ''&quot;&amp;gt;`order_amount` = #{orderAmount}, &amp;lt;/if&amp;gt; 字段order_amount在数据库中类型是de...
Mysql中设置小数点用什么数据类型 decimal
Mysql中设置小数点用什么数据类型? decimal Decimal(n,m)表示数值中共有n位数,其中整数n-m位,小数m位。例:decimal(10,6),数值中共有10位数,其中整数占4位,小数占6位。 例:decimal(2,1),此时,插入数据“12.3”、“12”等会出现“数据溢出错误”的异常;插入“1.23”或“1.2345...”会自动四舍五入成“1.2”;
数据库中double,decimal的数据类型做查询条件时的处理
这段时间在做一个物联网项目对位置信息的处理功能,其中一个条件是判断依据同一个设备在不动时,不要保存数据。在数据库中,改位置信息为double型x,y,当查询条件为where x=? and y=?时,总查不出数据,换成decimal也不行。觉得可能是double,decimal的精度。后来把数据转换为字符串类型比较久解决了。 CONCAT(X,'') =#{x} and CONCAT(Y,''...
float,double,decimal彼此转换会出现的精度问题(今天你Bug了吗?)
在一开始先说明下,此处的精度问题并不包含数字过大、强转溢出之类导致的问题,主要说明三者之间比较或计算时容易产生的精度问题,以避免开发中莫名其妙的数据问题。 大学时学的是C语言,虽然就没学会过,但对于float和double的描述还是记的很清楚,float和double因为采用科学记数法,会出现精度问题,要比较的话,应该是用两个的差值,取绝对值,如果该值小于某个数,你就可以认为两个数字是相等的,比
ADO 读取DECIMAL类型字段的值
用ADO操作数据时,经常要读取DECIMAL类型的数据值,今天在这里写个笔记。_variant_t vt;vt =r->GetCollect("rowid"); dbRowID = vt.decVal.Lo32; dbRowID *= (vt.decVal.sign == 128)? -1 : 1; dbRowID /= pow(10.00, vt.decVal.scale);
文章热词 SQL Server SQL Server视频教程 SQL Server培训 图像风格转换数据加载 SQL Server培训套餐
相关热词 c# decimal 乘 c#中的decimal c# decimal转化 python基础教程3 python基础教程2