500以下为0
500~1499为1
1500~2499为2
2500到3499为3
3500到4499为4
以此类推
就是N除以1000得到的商,余数大于500则加一,小于则不算。
如
123=0
560==1
1230=1
1501=2
2480=2
2560=3······
如何形成一个公式呢?
500~1499为1
1500~2499为2
2500到3499为3
3500到4499为4
以此类推
就是N除以1000得到的商,余数大于500则加一,小于则不算。
如
123=0
560==1
1230=1
1501=2
2480=2
2560=3······
如何形成一个公式呢?
解决方案 »
- 一个关于sql server 2008安装的问题
- 问一个简单的问题!!
- 请问SQL Server里面的sql数据类型为什么没有BOOLEAN类型呀?(在线等马上结)
- 查询时以下两种方法,哪个效率高
- 我是个菜鸟, 想问问怎么样远程备份数据库呀? 100分
- BCP IN 主键重复 怎样作错误处理?
- 非常急!!!客户端连接不上服务器的问题(注:已经复制dbnmpntw.dll,ntwdblib.dll 到客户端system32目录了)
- 怎么安装java需要专用的sqlserver驱动,那里有下载
- 【关于使用sql生成五位字母+数字自增的编号】速结帖
- 数据库安装问题
- SQL Server 2005 Reporting Services启动失败的问题
- 请问sql语句中的“ & 1 = 1”是什么意思???
set @n = 123
select @n/1000+(@n % 1000 + 1)/500
set @n = 560
select @n/1000+(@n % 1000 + 1)/500
set @n = 1230
select @n/1000+(@n % 1000 + 1)/500
set @n = 1501
select @n/1000+(@n % 1000 + 1)/500
set @n = 2480
select @n/1000+(@n % 1000 + 1)/500
set @n = 2560
select @n/1000+(@n % 1000 + 1)/500
set @n = 123
select @n/1000+(@n % 1000)/500
set @n = 560
select @n/1000+(@n % 1000)/500
set @n = 1230
select @n/1000+(@n % 1000)/500
set @n = 1501
select @n/1000+(@n % 1000)/500
set @n = 2480
select @n/1000+(@n % 1000)/500
set @n = 2560
select @n/1000+(@n % 1000)/500
set @n = 1499
select @n/1000+(@n % 1000)/500
select @n/1000+(@n % 1000)/500
insert into tb select 123 union all select 560 union all select 1230
union all select 1501 union all select 2480 union all select 2560
go
select (col/500+1)/2 from tb
go
drop table tb
/*
-----------
0
1
1
2
2
3(6 行受影响)
*/
set @i=2560
select case when @i<500 then 0 else @i/1000+(case when @i%1000>500 then 1 else 0 end) end
set @n=1526
if(@n%1000>=500)
begin
set @m=@n/1000+1
end
else
begin
set @m=@n/1000
end
select @n,@m
select @n/1000+(@n % 1000)/500
这个好 呵呵
use tempdb;
/*
create table tb
(
[content] int not null
);
insert into tb([content])
values
(123),(560),(1230),(1501),(2480),(2560);
*/
select *,
case when [content]%1000 > 500 then ([content]/1000 + 1) else ([content]/1000)
end as [得到的值]
from tb;