当前位置: 代码迷 >> Sql Server >> SQL 分数怎样处理 1/3,该如何解决
  详细解决方案

SQL 分数怎样处理 1/3,该如何解决

热度:124   发布时间:2016-04-27 14:12:18.0
SQL 分数怎样处理 1/3
如:1/3   我用什么数据类型

------解决方案--------------------
字符串 varchar
------解决方案--------------------
探讨
如:1/3   我用什么数据类型

------解决方案--------------------
看你要的精度了,可以用float或者decimal
------解决方案--------------------
用DECIMAL
------解决方案--------------------
cast(1/3 as dec(18,3))
------解决方案--------------------
探讨

字符串 varchar

------解决方案--------------------
探讨
如:1/3   我用什么数据类型

------解决方案--------------------
SQL code
create table tb(col varchar(10))insert into tb select '1/3'select * from tb/*col----------1/3(1 行受影响)*/godrop table tb
------解决方案--------------------
探讨
我要做运算。。。

------解决方案--------------------
探讨
引用:
我要做运算。。。
所以我建议用两个字段?

------解决方案--------------------
在字段里存运算表达式

用触发器来做吧


------解决方案--------------------
非要用一個字段存的話要用varchar,計算的時候用下面的代碼
SQL code
declare @字段名 varchar(20)set @字段名='1/3'select cast(left(@字段名,charindex('/',@字段名)-1) as dec(18,3))/cast(right(@字段名,len(@字段名)-charindex('/',@字段名)) as dec(18,3))
------解决方案--------------------
select cast(1.0*1/3 as dec(18,3))
------解决方案--------------------
试了下,可能有问题,似乎只能拆解。
------解决方案--------------------
字符类型 varchar(50) ,并且如果遇到不知道到类型的 都可以用这个类型

  相关解决方案