sql语句中怎样只要一个字段的前三位数。具体如下

时间:2022-09-22 15:02:17
sqlstr = "select ID, 内部分组, sgmt, 生产线, sum(计划班产量) as 计划班产量, sum(实际产量) as 实际产量,sum(计划班产量)/sum(实际产量) as 计划完成率, sum(计划人数) as 计划人数 from briefing  group by 生产线 Order by ID Desc";

其中
sum(计划班产量)/sum(实际产量) as 计划完成率          在gridview中显示0.23423423112,我想只显示0.234,该怎样写这个SQL语句?

12 个解决方案

#1


select ROUND(0.23423423112,3)

#2


select cast(0.214641321 as decimal(18,3))
--0.215

#3


SUBSTRING ( sum(计划班产量)/sum(实际产量), 0, 4)  as   计划完成率

#4


或者你可以在gridview中绑定的列上这样

<asp:BoundField HeaderText="计划完成率" DataFormatString="{0:N3}" DataField="计划完成率" >

#5


select cast(sum(计划班产量)/sum(实际产量) as numeric(10,3)) as 计划完成率.......

#6


引用 1 楼 starfd 的回复:
SQL code
select ROUND(0.23423423112,3)

可以的吧

#7


楼上几种都可以,如果你只是显示就在显示时处理下就好。

如果要插入的时候处理就用decimal(18,3)

#8


left()
right();
这些内部函数估计可以实现

#9


substring

#10


查看下函数呗!

#11



sqlstr = "select ID, 内部分组, sgmt, 生产线, 
sum(计划班产量) as 计划班产量, 
sum(实际产量) as 实际产量,
ROUND(sum(计划班产量)/sum(实际产量),3) as 计划完成率, 
sum(计划人数) as 计划人数 from briefing group by 生产线 Order by ID Desc";

#12


SELECT SUBSTRING(CONVERT(VARCHAR(20),0.23423423112),1,5)

SELECT PARSENAME(0.23423423112,2)+'.'+LEFT(PARSENAME(0.23423423112,1),3)

SELECT LEFT(CONVERT(VARCHAR(20),0.23423423112),5)

SELECT CONVERT(CHAR(5),CONVERT(VARCHAR(20),0.23423423112))

SELECT CONVERT(DECIMAL(10,3),0.23423423112)

SELECT STUFF(0.23423423112,6,LEN(0.23423423112)-5,'')

#1


select ROUND(0.23423423112,3)

#2


select cast(0.214641321 as decimal(18,3))
--0.215

#3


SUBSTRING ( sum(计划班产量)/sum(实际产量), 0, 4)  as   计划完成率

#4


或者你可以在gridview中绑定的列上这样

<asp:BoundField HeaderText="计划完成率" DataFormatString="{0:N3}" DataField="计划完成率" >

#5


select cast(sum(计划班产量)/sum(实际产量) as numeric(10,3)) as 计划完成率.......

#6


引用 1 楼 starfd 的回复:
SQL code
select ROUND(0.23423423112,3)

可以的吧

#7


楼上几种都可以,如果你只是显示就在显示时处理下就好。

如果要插入的时候处理就用decimal(18,3)

#8


left()
right();
这些内部函数估计可以实现

#9


substring

#10


查看下函数呗!

#11



sqlstr = "select ID, 内部分组, sgmt, 生产线, 
sum(计划班产量) as 计划班产量, 
sum(实际产量) as 实际产量,
ROUND(sum(计划班产量)/sum(实际产量),3) as 计划完成率, 
sum(计划人数) as 计划人数 from briefing group by 生产线 Order by ID Desc";

#12


SELECT SUBSTRING(CONVERT(VARCHAR(20),0.23423423112),1,5)

SELECT PARSENAME(0.23423423112,2)+'.'+LEFT(PARSENAME(0.23423423112,1),3)

SELECT LEFT(CONVERT(VARCHAR(20),0.23423423112),5)

SELECT CONVERT(CHAR(5),CONVERT(VARCHAR(20),0.23423423112))

SELECT CONVERT(DECIMAL(10,3),0.23423423112)

SELECT STUFF(0.23423423112,6,LEN(0.23423423112)-5,'')