SQL Server declarație CAZ este echivalent cu DACĂ-ATUNCI declarație în Excel.
instrucțiunea CASE este utilizată pentru a implementa logica în care doriți să setați valoarea unei coloane în funcție de valorile din alte coloane.
instrucțiunea SQL Server CASE constă din cel puțin o pereche de când și apoi declarații. Declarația WHEN specifică condiția care trebuie testată. Declarația apoi specifică acțiunea în cazul în care atunci când condiția returnează TRUE.,
instrucțiunea ELSE este opțională și se execută atunci când niciuna dintre condițiile de returnare a true. Declarația CASE se termină cu un cuvânt cheie END. în acest articol, vom arunca o privire la o serie de exemple diferite ale Declarației de caz. Dar înainte să facem asta, vom crea niște date false cu care să lucrăm.,/td>
script-ul de mai sus a creat un manechin de date numit ShowRoom cu un Tabel numit de Masini., Tabelul Cars are șapte coloane: id, Nume, companie, putere, culoare, model și stare. acum, să introducem câteva date false în tabelul Cars., Executați următorul script:
Să verificați cât de setul nostru de date arată, executați următorul script:
1
|
SELECTAȚI * DE la Masini
|
ieșire arată astfel:
puteți vedea că starea coloană conține un X în fiecare rând, în momentul de față., Vom seta valoarea coloanei condiție, în funcție de coloana model, folosind instrucțiunea CASE, astfel încât să puteți vedea clar ce se întâmplă.,
The syntax of the CASE statement is pretty straight forward:
1
2
3
4
5
|
SELECT column1,
column2,
CASE WHEN CONDITION THEN ‘Value1’
ELSE ‘Value2’ END AS columnX
FROM Cars
|
The CASE statement has to be included inside the SELECT Statement., Începe cu cuvântul cheie CASE urmat de cuvântul cheie WHEN și apoi de condiție.
condiția poate fi orice expresie SQL Server validă care returnează o valoare booleană. De exemplu, condiția poate fi modelul > 2000, apoi clauza este utilizată după condiție. Dacă condiția returnează true, valoarea care urmează clauza de atunci este stocată în columnX. Altfel, valoarea după clauza ELSE, va fi, de asemenea, stocate în columnX. Instrucțiunea SQL Server CASE se termină cu clauza END.,
Exemple de declarații de caz
Să vedem acum Declarația de caz în acțiune. într-o secțiune anterioară, am creat un tabel numit Cars în baza de date a ShowRoom-ului.
coloana condiție avea valoarea X pentru toate rândurile. Vom folosi instrucțiunea SQL Server CASE pentru a seta valoarea coloanei condition la ” New „dacă coloana model are o valoare mai mare de 2000, altfel valoarea pentru coloana condition va fi setată la”Old”.,ok at the following script:
1
2
3
4
5
|
SELECT name,
model,
CASE WHEN model > 2000 THEN ‘New’
ELSE ‘Old’ END AS condition
FROM Cars
|
The above script displays the name, model and condition columns from the Cars table., Rezultatul scriptului de mai sus arată astfel:
puteți vedea că valoarea lui X din coloana condiție a fost înlocuită cu „nou” și „vechi” în funcție de modelul mașinii.
condiții Multiple în declarația CASE
puteți evalua mai multe condiții în declarația CASE.,
să scriem o instrucțiune SQL Server CASE care stabilește valoarea coloanei condiție la ” nou „dacă valoarea din coloana model este mai mare decât 2010, la „medie” dacă valoarea din coloana model este mai mare decât 2000 și la „vechi” dacă valoarea din coloana model este mai mare decât 1990.,
ieșire din scenariul de mai sus arată astfel:
În script-ul de mai sus, am alocat trei valori diferite la starea de coloană în funcție de valoarea în modelul de coloana., cu toate acestea, în scriptul de mai sus, condițiile se suprapun ca. modelul cu o valoare mai mare decât 2010 are, de asemenea, o valoare mai mare decât 2000 și 1990. O modalitate mai bună de a implementa mai multe condiții este utilizarea operatorilor logici precum AND, OR, NOT etc.,N modelul > 2010, ATUNCI ” Noi ”
ieșire din scenariul de mai sus arată astfel:
putem evalua, de asemenea, mai multe condiții din diferite coloane folosind SQL Server CAZ declarație., În exemplul următor, vom atribui valoarea „New White” coloanei condiție în care modelul este mai mare decât 2010 și culoarea este albă.,GĂINĂ ” Noi ”
ieșire arată astfel:
puteți vedea de la randul 5 de culoare alba si model este mai mare decât în 2010, valoarea pentru coloana condition a fost setat la „Alb” în ieșire.,
folosind GROUP BY cu SQL Server CASE statement
instrucțiunea CASE poate fi de asemenea utilizată împreună cu GROUP BY statement pentru a aplica funcții agregate.,v id=”1dd7e33b85″>
În scenariul de mai sus vom folosi CONTA funcție agregată cu declarația CAZ.,
instrucțiunea SQL Server CASE setează valoarea coloanei condiție la „nou”sau ” Vechi”. În interiorul clauzei grup după, specificăm că numărul corespunzător pentru ” nou ” este incrementat cu 1, ori de câte ori se întâlnește o valoare a modelului mai mare de 2000. Secțiunea altceva înseamnă că creștem numărul pentru „Vechi” cu 1 dacă valoarea modelului este de 2000 sau mai puțin. Rezultatul scriptului de mai sus arată astfel:
deoarece setul nostru de date are cinci vehicule cu o valoare pentru „model” mai mare de 2000, puteți vedea un 5 în coloana Numărătoare pentru vehiculele „noi”., În mod similar, am avut 5 vehicule vechi și, prin urmare, putem vedea 5 pentru coloana de numărare a vehiculelor „vechi”.în mod similar, putem grupa cu mai mult de două valori., 2000 APOI „Mediu”
În script-ul de mai sus, datele au fost grupate în trei categorii: „Noi”, „Medie” și „Vechi”., ieșirea arată astfel:
puteți vedea numărul pentru mașinile” noi”,” medii „și” vechi”.
concluzie
instrucțiunea CASE vine la îndemână atunci când doriți să implementați logica IF-THEN în SQL Server. În acest articol, am văzut ce declarație de caz este împreună cu sintaxa sa. Am văzut, de asemenea, diferite exemple de declarație de caz, împreună cu utilizarea sa cu grupul de clauza.,
Alte articole mari de la Ben
- înțelegerea SQL Server query plan cache
- care este diferența dintre indexurile grupate și non-grupate în SQL Server?
- Cum să utilizați fereastra de funcții
- Interogarea datelor folosind SQL Server declarație CAZ
- Autor
- Mesajele Recente
Vezi toate posturile de Ben Richardson
- Power BI: Cascada Grafice și Vizuale Combinate – ianuarie 19, 2021
- Power BI: formatarea Condițională și datele de culori în acțiune – 14 ianuarie 2021
- Power BI: Importul de date din SQL Server si MySQL – 12 ianuarie 2021