Time for an 2014 update…
This commit is contained in:
parent
372c577f83
commit
09687c4926
2520 changed files with 34227 additions and 7318 deletions
|
|
@ -1,11 +1,2 @@
|
|||
SELECT i, fizzbuzz
|
||||
FROM
|
||||
(SELECT i,
|
||||
CASE
|
||||
WHEN i % 15 = 0 THEN 'FizzBuzz'
|
||||
WHEN i % 5 = 0 THEN 'Buzz'
|
||||
WHEN i % 3 = 0 THEN 'Fizz'
|
||||
ELSE NULL
|
||||
END AS fizzbuzz
|
||||
FROM generate_series(1,100) AS i) AS fb
|
||||
WHERE fizzbuzz IS NOT NULL;
|
||||
select nvl(decode(mod(n,3),0,'Fizz')||decode(mod(n,5),0,'Buzz'),n)
|
||||
from (select level n from dual connect by level<=100)
|
||||
|
|
|
|||
|
|
@ -1,15 +1,11 @@
|
|||
WITH nums (n, fizzbuzz ) AS (
|
||||
SELECT 1, CONVERT(nvarchar, 1) UNION ALL
|
||||
SELECT
|
||||
(n + 1) as n1,
|
||||
CASE
|
||||
WHEN (n + 1) % 15 = 0 THEN 'FizzBuzz'
|
||||
WHEN (n + 1) % 3 = 0 THEN 'Fizz'
|
||||
WHEN (n + 1) % 5 = 0 THEN 'Buzz'
|
||||
ELSE CONVERT(nvarchar, (n + 1))
|
||||
END
|
||||
FROM nums WHERE n < 100
|
||||
)
|
||||
SELECT n, fizzbuzz FROM nums
|
||||
ORDER BY n ASC
|
||||
OPTION ( MAXRECURSION 100 )
|
||||
SELECT i, fizzbuzz
|
||||
FROM
|
||||
(SELECT i,
|
||||
CASE
|
||||
WHEN i % 15 = 0 THEN 'FizzBuzz'
|
||||
WHEN i % 5 = 0 THEN 'Buzz'
|
||||
WHEN i % 3 = 0 THEN 'Fizz'
|
||||
ELSE NULL
|
||||
END AS fizzbuzz
|
||||
FROM generate_series(1,100) AS i) AS fb
|
||||
WHERE fizzbuzz IS NOT NULL;
|
||||
|
|
|
|||
|
|
@ -1,24 +1,7 @@
|
|||
-- Load some numbers
|
||||
CREATE TABLE numbers(i INTEGER);
|
||||
INSERT INTO numbers VALUES(1);
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
-- Define the fizzes and buzzes
|
||||
CREATE TABLE fizzbuzz (message VARCHAR(8), divisor INTEGER);
|
||||
INSERT INTO fizzbuzz VALUES('fizz', 3);
|
||||
INSERT INTO fizzbuzz VALUES('buzz', 5);
|
||||
INSERT INTO fizzbuzz VALUES('fizzbuzz', 15);
|
||||
-- Play fizzbuzz
|
||||
SELECT COALESCE(max(message),CAST(i AS VARCHAR(99))) as result
|
||||
FROM numbers LEFT OUTER JOIN fizzbuzz ON MOD(i,divisor) = 0
|
||||
GROUP BY i
|
||||
HAVING i <= 100
|
||||
ORDER BY i;
|
||||
-- Tidy up
|
||||
DROP TABLE fizzbuzz;
|
||||
DROP TABLE numbers;
|
||||
SELECT COALESCE(FIZZ || BUZZ, FIZZ, BUZZ, OUTPUT) AS FIZZBUZZ FROM
|
||||
(SELECT GENERATE_SERIES AS FULL_SERIES, TO_CHAR(GENERATE_SERIES,'99') AS OUTPUT
|
||||
FROM GENERATE_SERIES(1,100)) F LEFT JOIN
|
||||
(SELECT TEXT 'Fizz' AS FIZZ, GENERATE_SERIES AS FIZZ_SERIES FROM GENERATE_SERIES(0,100,3)) FIZZ ON
|
||||
FIZZ.FIZZ_SERIES = F.FULL_SERIES LEFT JOIN
|
||||
(SELECT TEXT 'Buzz' AS BUZZ, GENERATE_SERIES AS BUZZ_SERIES FROM GENERATE_SERIES(0,100,5)) BUZZ ON
|
||||
BUZZ.BUZZ_SERIES = F.FULL_SERIES;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
declare
|
||||
v_count integer;
|
||||
|
||||
begin
|
||||
for v_count in 1..100 loop
|
||||
if(mod(v_count, 15) = 0) then
|
||||
dbms_output.put_line('Fizz Buzz');
|
||||
elsif(mod(v_count, 3) = 0) then
|
||||
dbms_output.put_line('Fizz');
|
||||
elsif(mod(v_count, 5) = 0) then
|
||||
dbms_output.put_line('Buzz');
|
||||
else
|
||||
dbms_output.put_line(v_count);
|
||||
end if;
|
||||
end loop;
|
||||
end;
|
||||
WITH nums (n, fizzbuzz ) AS (
|
||||
SELECT 1, CONVERT(nvarchar, 1) UNION ALL
|
||||
SELECT
|
||||
(n + 1) as n1,
|
||||
CASE
|
||||
WHEN (n + 1) % 15 = 0 THEN 'FizzBuzz'
|
||||
WHEN (n + 1) % 3 = 0 THEN 'Fizz'
|
||||
WHEN (n + 1) % 5 = 0 THEN 'Buzz'
|
||||
ELSE CONVERT(nvarchar, (n + 1))
|
||||
END
|
||||
FROM nums WHERE n < 100
|
||||
)
|
||||
SELECT n, fizzbuzz FROM nums
|
||||
ORDER BY n ASC
|
||||
OPTION ( MAXRECURSION 100 )
|
||||
|
|
|
|||
24
Task/FizzBuzz/SQL/fizzbuzz-6.sql
Normal file
24
Task/FizzBuzz/SQL/fizzbuzz-6.sql
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
-- Load some numbers
|
||||
CREATE TABLE numbers(i INTEGER);
|
||||
INSERT INTO numbers VALUES(1);
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
INSERT INTO numbers SELECT i + (SELECT MAX(i) FROM numbers) FROM numbers;
|
||||
-- Define the fizzes and buzzes
|
||||
CREATE TABLE fizzbuzz (message VARCHAR(8), divisor INTEGER);
|
||||
INSERT INTO fizzbuzz VALUES('fizz', 3);
|
||||
INSERT INTO fizzbuzz VALUES('buzz', 5);
|
||||
INSERT INTO fizzbuzz VALUES('fizzbuzz', 15);
|
||||
-- Play fizzbuzz
|
||||
SELECT COALESCE(max(message),CAST(i AS VARCHAR(99))) as result
|
||||
FROM numbers LEFT OUTER JOIN fizzbuzz ON MOD(i,divisor) = 0
|
||||
GROUP BY i
|
||||
HAVING i <= 100
|
||||
ORDER BY i;
|
||||
-- Tidy up
|
||||
DROP TABLE fizzbuzz;
|
||||
DROP TABLE numbers;
|
||||
Loading…
Add table
Add a link
Reference in a new issue