从T-SQL中的数字中获取数千或数百个范围

Kyl*_*yle 1 sql t-sql sql-server

我们有几千个作业号存储在SQL Server数据库中,我希望能够得出它们属于1000或100的范围,以便在第三方应用程序中进行分组,该应用程序与我们的作业列表集成在一起.

如何在查询结果集的列中提取每个作业编号所属的1000组?

示例:我希望我的输出为:

JOB_NUMBER      JOB_GROUP
678             0-999
679             0-999
1517            1000-1999
2011            2000-2999
2150            2000-2999
...etc.
Run Code Online (Sandbox Code Playgroud)

Nik*_*vić 7

如果job_number是一个整数,你可以使用:

select job_number, 
       convert(varchar(10), job_number / 1000 * 1000) 
     + '-' 
     + convert(varchar(10), job_number / 1000 * 1000 + 999) Range
  from whatever
Run Code Online (Sandbox Code Playgroud)