Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- with [Numbers] as (
- select (ones.n + 10 * tens.n + 100 * hundreds.n) + 1 [Number]
- from (values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n)
- cross join (values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n)
- cross join (values(0)) hundreds(n)
- )
- select
- case
- when [Number] % 15 = 0 then 'FizzBuzz'
- when [Number] % 5 = 0 then 'Buzz'
- when [Number] % 3 = 0 then 'Fizz'
- else cast([Number] as varchar(3)) end [FizzBuzz]
- from [Numbers]
- order by [Number];
- /*Another more confusing version with recursive CTE!*/
- with [Numbers] as (
- select 1 [Number]
- union all
- select [Number] + 1 [Number]
- from [Numbers]
- where [Number] < 100
- )
- select
- case
- when [Number] % 15 = 0 then 'FizzBuzz'
- when [Number] % 5 = 0 then 'Buzz'
- when [Number] % 3 = 0 then 'Fizz'
- else cast([Number] as varchar(3)) end [FizzBuzz]
- from [Numbers]
- order by [Number];
Add Comment
Please, Sign In to add comment