Hvordan løse Fizzbuzz SQL
"FizzBuzz" er et spørsmål spurt under programmering intervjuer for å vurdere en kandidat matematikk, logikk og problemløsning ferdigheter. Utgangspunktet er å skrive et program som vil skrive tallene 1 til 100 for, ved å erstatte "Fizz" for en rekke delelig med 3, "Buzz" for en rekke delelig med fem, og "FizzBuzz" for en rekke delelig ved både 3 og 5 eller 15. for å løse dette problemet i SQL, blir Modulo-funksjonen brukt til å evaluere resten av nummeret dividert med 3 divisorene.
Bruksanvisning
1 Åpne SQL Server Management Studio.
2 Åpne en ny spørring vindu.
3 Erklærer et heltall variabel og sette verdien til en som vist:
ERKLÆRER @n INT
SET @n = 1
4 Lag en "mens" loop å bruke heltallsvariabelen å sløyfe 100 ganger, som vist:
MENS (@n <= 100)
BEGIN
SET @n = @ n + 1
SLUTT
5 Bruk en "case" statement i sløyfen for å evaluere resultatet av Modulofunksjon mot nåverdien av heltallsvariabelen og skrive riktig utgang:
PRINT CASE 0
NÅR (@n% 15) THEN 'FizzBuzz'
NÅR (@n% 5) THEN 'Buzz'
NÅR (@n% 3) THEN 'Fizz'
ELSE CAST (@n AS VARCHAR (8))
SLUTT
6 Sjekk at hele T-SQL-skript vises som følger, og klikk på "Kjør" -knappen for å kjøre spørringen:
ERKLÆRER @n INT
SET @n = 1
MENS (@n <= 100)
BEGIN
PRINT CASE 0
NÅR (@n% 15) THEN 'FizzBuzz'
NÅR (@n% 5) THEN 'Buzz'
NÅR (@n% 3) THEN 'Fizz'
ELSE CAST (@n AS VARCHAR (8))
SLUTT
SET @n = @ n + 1
SLUTT
7 Resultatruten vil vise resultatene av "FizzBuzz" beregning.
Hint
- Den variable må støpes som en varchar (Variable Character Field) i PRINT uttalelse til forebygge type konvertering feil.