[sql]求sql如何精度绑定???????????????????????????????????????、111222222222211111111

帅员外 2011-04-20 04:27:42
现在表结构是这样的。
C
-------------------
id num1 num2 num3
1 5904.000000000 2.020000000 233.000400000

然后 把查询的结果集 变成
id num1 num2 num3
1 5904 2.02 233.0004

就是num1 控制精度为0
num2控制精度为2
num3 控制精度为4?

这样的效果 如何做??

...全文
81 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
帅员外 2011-04-20
  • 打赏
  • 举报
回复
cast((ISNULL(ychu.RiLing,cj.RiLing)) as decimal(18,0)),

对了。。。谢谢
dawugui 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 excaliburx 的回复:]
cast(num1 as decimal(18,0))
cast(num2 as decimal(18,2))
cast(num3 as decimal(18,4))

关键字 as 有语法错误。。。
[/Quote]
create table C(id int,num1 decimal(18,9),num2 decimal(18,9),num3 decimal(18,9))
insert into c values(1 ,5904.000000000 ,2.020000000 ,233.000400000)
go

select id ,
num1 = cast(num1 as decimal(18,0)),
num2 = cast(num2 as decimal(18,2)),
num3 = cast(num3 as decimal(18,4))
from c

drop table c

/*
id num1 num2 num3
----------- -------------------- -------------------- --------------------
1 5904 2.02 233.0004

(所影响的行数为 1 行)
*/
帅员外 2011-04-20
  • 打赏
  • 举报
回复
'日龄'=cast((ISNULL(ychu.RiLing,cj.RiLing),0)) as decimal(18,0)),

。。。编译都过不去。。
快溜 2011-04-20
  • 打赏
  • 举报
回复
declare @num1 float
set @num1=5904.000000000
select cast(@num1 as decimal(18,0))
select cast(@num1 as decimal(18,2))
select cast(@num1 as decimal(18,4))
/*
---------------------------------------
5904

(1 行受影响)


---------------------------------------
5904.00

(1 行受影响)


---------------------------------------
5904.0000
cd731107 2011-04-20
  • 打赏
  • 举报
回复
select cast(num1 as decimal(18,0)),cast(num2 as decimal(18,2)),cast(num3 as decimal(18,4))
yy1987316 2011-04-20
  • 打赏
  • 举报
回复

select id,cast(num1 as decimal(10,0)) as num1,cast(num2 as decimal(10,2)) as num2,cast(num3 as decimal(10,4)) as num3 from C

帅员外 2011-04-20
  • 打赏
  • 举报
回复
select Round(num1.RiLing),0).. 也没效果。。。
帅员外 2011-04-20
  • 打赏
  • 举报
回复
cast(num1 as decimal(18,0))
cast(num2 as decimal(18,2))
cast(num3 as decimal(18,4))

关键字 as 有语法错误。。。
快溜 2011-04-20
  • 打赏
  • 举报
回复
round
--小F-- 2011-04-20
  • 打赏
  • 举报
回复
decimal
dawugui 2011-04-20
  • 打赏
  • 举报
回复
或者用:

ROUND
返回数字表达式并四舍五入为指定的长度或精度。

语法
ROUND ( numeric_expression , length [ , function ] )

dawugui 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 excaliburx 的回复:]
sql 有什么 函数 能够 截取精度的????????
[/Quote]
cast(num1 as decimal(18,0))
cast(num2 as decimal(18,2))
cast(num3 as decimal(18,4))
帅员外 2011-04-20
  • 打赏
  • 举报
回复
sql 有什么 函数 能够 截取精度的????????

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧