Q

# The integers table

I want to write one query to get serial dates, like 1/1/2004, 1/2/2004... I know repeating "select dateadd(d,n,'1/1/2004')"...

can get the result. But how about a simple method?

My favourite solution for this type of problem uses an integers table. Here's the code to create it:

```create table integers (i integer)
insert into integers (i) values (0)
insert into integers (i) values (1)
insert into integers (i) values (2)
insert into integers (i) values (3)
insert into integers (i) values (4)
insert into integers (i) values (5)
insert into integers (i) values (6)
insert into integers (i) values (7)
insert into integers (i) values (8)
insert into integers (i) values (9)```

Those 10 rows are sufficient to create, with one or more cross joins, whatever range of integers you need. For example, you could generate the numbers 0 through 999 with a triple cross join like this:

```select 100*hundreds.i + 10*tens.i + units.i as iii
from integers hundreds
, integers tens
, integers units```

Why iii? Because that reminds me that it's a number up to 999. Note that the query uses table list syntax without join conditions, thus joining every row from all three "copies" of the integers table with every other row. This table list syntax for a cross join will work in any database. In effect, it is the same query as the following one using explicit JOIN syntax:

```select 100*hundreds.i + 10*tens.i + units.i as iii
from integers hundreds
cross
join integers tens
cross
join integers units```

The words hundreds, tens, and units are table aliases, required to distinguish the rows from the three different "copies" of the table that are present in the query. Usually I write h, t, and u, to make typing easier. Even more convenient is a view for this query:

```create view integers999 (iii)
as
select 100*h.i+10*t.i+u.i
from integers h
cross
join integers t
cross
join integers u```

Now you can use the iii column in an expression to produce all the dates for this year, using a WHERE clause to restrict the upper end of the range:

```select dateadd(d,iii,'2004-01-01') as thedate
from integers999
where iii <= 365```

Simple, eh? Note that there are 366 days in 2004, so '2004-01-01' + 0 days will be the first date, and '2004-01-01' + 365 days will be the last.

This was last published in January 2004

## Content

Find more PRO+ content and other member only offers, here.

#### Have a question for an expert?

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

#### Start the conversation

Send me notifications when other members comment.

## SearchDataManagement

• ### Amazon ushers in pay-by-query pricing with Athena data engine

Amazon's Athena data engine brings interactive SQL queries to S3. It's based on an open source framework that Teradata and others...

• ### A look at the EnterpriseDB Postgres data management platform

The EDB Postgres platform, which is based on the PostgreSQL open source relational database, is offered as a subscription service...

• ### Louisiana uses GIS software to create map to flood preparedness

The Louisiana Department of Health responded to flooding with the help of GIS software that located trouble spots with at-risk ...

• ### Creative projects leave people guessing about future impact of AI

A push is underway to write creative AI algorithms that can engage in music, film and design projects. So far, they have ...

• ### Data visualization plays an important role in a big data environment

Enterprises are increasingly putting data visualization tools, like Tableau, at the top of their big data platforms to start ...

## SearchSAP

• ### Does SAP ONE Support Launchpad make SAP support any easier to use?

The new Fiori user experience makes it easier to access applications and support services, but product-specific support still ...

• ### At SME Summit, SAP Anywhere growing pains revealed

Attendees at an SAP SME Summit lauded the e-commerce front end, but some said back-end integration and payment-processing ...

• ### Planning a HANA big data strategy with SAP HANA Vora

SAP has worked hard to position HANA as a big data platform. To formulate a viable big data strategy, you need to know the tools,...

## SearchSQLServer

• ### How to get the most out of virtual SQL Server with Microsoft Hyper-V

SQL Server is a CPU-intensive technology, which can make it tricky to run in a virtualized environment. Keep your SQL Server ...

• ### Microsoft previews SQL Server on Linux, opens features across editions

Microsoft looks to broaden the horizons of SQL Server, as it moves some Enterprise features to Standard Edition and issues the ...

• ### Cask framework aims to speed Azure HDInsight data pipeline builds

A link between Cask Data's CDAP application and integration environment and Azure HDInsight, Microsoft's Hadoop cloud service, is...

## TheServerSide

• ### DOES16 keynotes quantify the benefits of a DevOps transition

At the DevOps Enterprise Summit 2016, Tripwire founder Gene Kim stated his case on why every organization should embark upon a ...

• ### How Target improved software delivery by adopting DevOps processes

At the 2016 DevOps Enterprise Summit, Target's Heather Mickman describes the many ways the adoption of DevOps processes improved ...

## SearchDataCenter

• ### Compare benefits of a blade server architecture vs. hyper-convergence

To determine if a series of blade servers is the right call for more condensed compute in your data center, evaluate its benefits...

• ### A hyper-converged data center offers SDDC opportunity, IT scalability

Hyper-convergence can increase scalability and pave the way toward software-defined infrastructure. Use these five tips to learn ...

• ### OpenStack enterprise adoption still awaits full embrace

OpenStack in the enterprise is more likely to see continued adoption via vendor distributions and managed services, not the raw ...

## SearchContentManagement

• ### Five steps for designing an effective BI dashboard

The BI dashboard can be a very useful tool for data engagement if the dashboard is designed and used effectively. Here are five ...

• ### Examining the top offerings in the WCM platform marketplace

Once you've decided that a WCM platform is right for your business, it's time to decide which to choose. Expert Geoffrey Bock ...

• ### Why Microsoft Teams could change up the collaboration software market

Microsoft's new collaboration tool, Teams, could give Slack a run for its money. Expert Reda Chouffani offers a look at five ...

## SearchFinancialApplications

• ### No one-size-fits-all strategy for cloud ERP software migration

Experts say a cloud ERP transition plan will vary according to a variety of factors, from company size to an organization's ...

• ### HR video apps spreading beyond training to recruiting, engagement

Users say cost savings, faster turnaround and better corporate branding are some of the benefits from using video at more stages ...

• ### Microsoft picks SAP for core HCM tools and global talent management

Microsoft chooses SAP SuccessFactors for core HR and talent management, and SAP selects Microsoft Azure as a preferred public ...

Close