" FizzBuzz " is een vraag tijdens het programmeren interviews om een kandidaat wiskunde , logica en probleemoplossende vaardigheden te evalueren . Het uitgangspunt is een programma dat de nummers 1 tot 100 afgedrukt in volgorde vervangen " Fizz " voor een aantal gelijkmatig deelbaar is door 3 , " Buzz " voor een aantal gelijkmatig deelbaar is door 5 schrijven , en " FizzBuzz " voor een aantal gelijkmatig deelbaar door zowel 3 als 5 of 15 . Om dit probleem op te lossen in SQL , wordt de Modulofunctie gebruikt om de rest van het getal gedeeld door de 3 delers evalueren . Instructies Open SQL Server Management Studio . 1 kopen van 2 Open een nieuwe query venster . 3 Verklaar een integer variabele en zet de waarde op 1 , zoals aangegeven : DECLARE @ n RC sET @ n = 1 4 Maak een lus "terwijl" het integer gebruiken variabele naar lus 100 keer , zoals weergegeven : TERWIJL ( @ n < = 100 ) op Twitter BEGIN SET @ n = @ n +1 END 5 Gebruik een " CASE " statement binnen de lus om het resultaat van de Modulofunctie evalueren tegen de actuele waarde van de integer variabele en de juiste uitgang af : PRINT CASE 0 WANNEER ( @ n % 15 ) THEN ' FizzBuzz ' WANNEER ( @ n % 5 ) THEN ' Buzz ' WANNEER ( @ n % 3 ) THEN ' Fizz ' ELSE CAST ( @ n AS VARCHAR ( 8 ) ) END 6 Controleer de volledige T - SQL-script wordt als volgt weergegeven en klik op de " uitvoeren " om de query uit te voeren : DECLARE @ n RC SET @ n = 1 TERWIJL ( @ n < = 100 ) op Twitter BEGIN PRINT CASE 0 WANNEER ( @ n % 15 ) ' FizzBuzz ' WANNEER ( @ n % 5 ) THEN ' Buzz ' ALS ( @ n % 3 ) THEN ' Fizz ' ELSE CAST ( @ n AS VARCHAR ( 8 ) ) END SET @ n = @ n +1 END 7 de resultaten ruit zal de resultaten van de " FizzBuzz " berekening zien .
|