Hvordan løse Fizzbuzz SQL

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.