Home > Ask the Oracle Experts > SQL Questions & Answers > SQL to round up to nearest thousand
Ask The Oracle Expert: Questions & Answers
EMAIL THIS

SQL to round up to nearest thousand

Rudy Limeback EXPERT RESPONSE FROM: Rudy Limeback

Pose a Question
Other Oracle Categories
Meet all Oracle Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 24 March 2008
In SQL Server 2005, I want the next nearest thousand number. For example, if I gave 460 the output is 1000, if 1000 output 1000, if 1001 output 2000, if 1550 output 2000, if 2001 output 3000. Can you help me?

>
EXPERT RESPONSE
This can accomplished with the SQL Server CEILING function.

select mynumber
     , mynumber/1000.0               as dividedby1000
     , ceiling(mynumber/1000.0)      as ceilingresult
     , ceiling(mynumber/1000.0)*1000 as myfinalnumber
  from mynumbers

CEILING returns the smallest integer which is equal to or greater than the number it is given. Notice that we need a complex expression involving CEILING, in order to get the "rounded up to next 1000" number that you wanted. The "trick" (if you want to call it that) is to divide by 1000.0, which forces a decimal result, before applying the CEILING.

The query above also illustrates how to go about testing a complex expression like this. Build it up, one step at a time, in separate columns.

The results of the query on the data you provided are:

mynumber dividedby1000 ceilingresult myfinalnumber
   460      0.460000         1           1000
  1000      1.000000         1           1000
  1001      1.001000         2           2000
  1550      1.550000         2           2000
  2001      2.001000         3           3000

Neat, eh?


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


RELATED CONTENT
SQL
IN list or series of OR conditions?
Connecting tables in a database
SQL query for co-authored books
Querying complex derived tables
SQL string functions
Changing a NULL column to NOT NULL
SQL for hourly totals for the last 48 hours
LEFT OUTER JOIN to a MIN/MAX row
Normalizing a crosstab table
Querying metadata and data at the same time

Oracle development languages
IN list or series of OR conditions?
Connecting tables in a database
SQL query for co-authored books
Querying complex derived tables
Oracle 11g: PL/SQL Basics
SQL string functions
Changing a NULL column to NOT NULL
SQL for hourly totals for the last 48 hours
LEFT OUTER JOIN to a MIN/MAX row
Normalizing a crosstab table

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice

HomeNewsTopicsTipsAsk the ExpertsMultimediaWhite PapersProductsBlogs
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2003 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts