2012无压力declare @i Decimal(10,2), @j Decimal(10,2)
set @i = 12.32223
set @j=5.110
select (@i+@j)%@j/*---------------------------------------
2.10*/
set @i = 12.32223
set @j=5.110
select (@i+@j)%@j/*---------------------------------------
2.10*/
调试欢乐多
declare @i Decimal(10,2), @j Decimal(10,2)
set @i = 12.32223
set @j=5.110
select (@i+@j)%@j
/*
2.10
*/
我也没报错....所以搞不明白了!
有帖子说要改成cast 成 int,就好了。
不过需求是要计算钱的,需要有分和毛~~·
我也没报错....所以搞不明白了!
有帖子说要改成cast 成 int,就好了。
不过需求是要计算钱的,需要有分和毛~~·改成money类型试试:
declare @i money, @j money
set @i = 12.32223
set @j=5.110
select (@i+@j)%@j
/*
2.1022
*/
decimal 也报 numeric的错误.....
money 包的错更多,之前就是从money改过来的....
我也没报错....所以搞不明白了!
有帖子说要改成cast 成 int,就好了。
不过需求是要计算钱的,需要有分和毛~~·改成money类型试试:
declare @i money, @j money
set @i = 12.32223
set @j=5.110
select (@i+@j)%@j
/*
2.1022
*/依然报错~~
set @i = 12.32223
set @j=5.110
select ((CAST( @i AS Decimal(10,2)))+(CAST( @j AS Decimal(10,2))))%(CAST( @j AS Decimal(10,2)))试试
报错啦??恭喜你~~~这样呢:
declare @i decimal(30,6), @j decimal(30,6)
set @i = 12.32223
set @j=5.110
select (@i+@j)%@j
/*
2.102230
*/
报错啦??恭喜你~~~这样呢:
declare @i decimal(30,6), @j decimal(30,6)
set @i = 12.32223
set @j=5.110
select (@i+@j)%@j
/*
2.102230
*/好像不是精度的事儿,是只能%int的
看来只能用必杀了!!!declare @i numeric(12,4), @j Decimal(12,4)
set @i = 12.10
set @j=5.00
select cast((cast(@i*100 as int)+cast(@j*100 as int))%cast(@j*100 as int) as numeric(12,0)) /100
报错啦??恭喜你~~~
2000報錯,08R2沒壓力要是整出答案了,200分你付了吧~~~哈哈解决你的大难题啦~~!
打醬油的,多少給點?declare @i numeric(12,4), @j Decimal(12,4)
set @i = 12.10
set @j=5.00
select cast((cast(@i*100 as int)+cast(@j*100 as int))%cast(@j*100 as int) as numeric(12,0)) /100这个好使~你试试!
ALTER DATABASE 库名 SET COMPATIBILITY_LEVEL=90
‘=’附近有错误?
报错啦??恭喜你~~~
2000報錯,08R2沒壓力要是整出答案了,200分你付了吧~~~哈哈解决你的大难题啦~~!
打醬油的,多少給點?declare @i numeric(12,4), @j Decimal(12,4)
set @i = 12.10
set @j=5.00
select cast((cast(@i*100 as int)+cast(@j*100 as int))%cast(@j*100 as int) as numeric(12,0)) /100这个好使~你试试!哦,但是具体的@i的值不确定,那到底得乘以100 还是1000呢,不够灵活
报错啦??恭喜你~~~
2000報錯,08R2沒壓力要是整出答案了,200分你付了吧~~~哈哈解决你的大难题啦~~!
打醬油的,多少給點?declare @i numeric(12,4), @j Decimal(12,4)
set @i = 12.10
set @j=5.00
select cast((cast(@i*100 as int)+cast(@j*100 as int))%cast(@j*100 as int) as numeric(12,0)) /100这个好使~你试试!
2000上执行的....对了,但是为什么你的2005上没问题,而你朋友的2005就有问题呢? 这个很奇怪
我也有这个疑问~~~!应该是兼容性的事儿吧!哦,你的意思是你朋友的sql server 2005设置的兼容级别是8 是吧
新年快乐!!
2000上执行的....对了,但是为什么你的2005上没问题,而你朋友的2005就有问题呢? 这个很奇怪
报错啦??恭喜你~~~
2000報錯,08R2沒壓力要是整出答案了,200分你付了吧~~~哈哈解决你的大难题啦~~!
打醬油的,多少給點?declare @i numeric(12,4), @j Decimal(12,4)
set @i = 12.10
set @j=5.00
select cast((cast(@i*100 as int)+cast(@j*100 as int))%cast(@j*100 as int) as numeric(12,0)) /100这个好使~你试试!