Megosztás a következőn keresztül:


Logikai függvények - SELECT (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Az SQL Server értéklistájából a megadott indexnél lévő elemet adja vissza.

Transact-SQL szintaxis konvenciók

Szemantika

CHOOSE ( index, val_1, val_2 [, val_n ] )  

Arguments

index

Egy egész szám kifejezés, amely egy 1-es indexet képvisel az általa következő elemek listáján.

Ha a megadott indexértéknek nincs más numerikus adattípusa, mint az int, akkor az érték implicit módon egész számba alakul. Ha az indexérték meghaladja az értékek tömbje határait, akkor a SELECT nullat ad vissza.

val_1 ... val_n

Bármely adattípus vesszővel elválasztott értékeinek listája.

Visszatérési típusok

Visszaadja a legmagasabb prioritású adattípust a függvényhez átadott típusok halmazából. További információ: Adattípus elsőbbsége (Transact-SQL).

Megjegyzések

A SELECT úgy működik, mint egy index, amely egy tömbbe lép, ahol a tömb az index argumentumot követő argumentumokból áll. Az indexargumentus határozza meg, hogy a következő értékek közül melyiket adják vissza.

Példák

A. Egyszerű SELECT példa

A következő példa adja vissza a megadott értéklista harmadik elemet.

SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;  

Itt van az eredmények összessége.

Result  
-------------  
Developer  
  
(1 row(s) affected)  

B. Egyszerű SELECT példa oszlop alapján

A következő példa egy egyszerű karakterláncot ad vissza az oszlopban lévő érték ProductCategoryID alapján.

USE AdventureWorks2022;  
GO  
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1  
FROM Production.ProductCategory;  

Itt van az eredmények összessége.

ProductCategoryID Expression1  
----------------- -----------  
3                 C  
1                 A  
2                 B  
4                 D  
  
(4 row(s) affected)  
  

C. SELECT a MONTH kombinációval

A következő példa azt az évszakot adja vissza, amikor utoljára módosították egy termékmodellt. A MONTH függvény arra szolgál, hogy visszaadja a hónapértéket az oszlopból ModifiedDate. A CHOOSE függvényt az északi félteke évszakának kijelölésére használják. Ez a minta az AdventureWorksLT adatbázist használja, amely gyorsan telepíthető egy új Azure SQL adatbázis mintaadatbázisaként. További információ: AdventureWorks-mintaadatbázisok.

SELECT Name, ModifiedDate, 
CHOOSE(MONTH(ModifiedDate),'Winter','Winter', 'Spring','Spring','Spring','Summer','Summer',   
                          'Summer','Autumn','Autumn','Autumn','Winter') AS Quarter_Modified
FROM SalesLT.ProductModel AS PM
WHERE Name LIKE '%Frame%'
ORDER BY ModifiedDate;  

Itt van az eredmények összessége.

Name                        ModifiedDate            Quarter_Modified
--------------------------- ----------------------- ----------------
HL Road Frame               2002-05-02 00:00:00.000 Spring
HL Mountain Frame           2005-06-01 00:00:00.000 Summer
LL Road Frame               2005-06-01 00:00:00.000 Summer
ML Road Frame               2005-06-01 00:00:00.000 Summer
ML Road Frame-W             2006-06-01 00:00:00.000 Summer
ML Mountain Frame           2006-06-01 00:00:00.000 Summer
ML Mountain Frame-W         2006-06-01 00:00:00.000 Summer
LL Mountain Frame           2006-11-20 09:56:38.273 Autumn
HL Touring Frame            2009-05-16 16:34:28.980 Spring
LL Touring Frame            2009-05-16 16:34:28.980 Spring

(10 rows affected)

Következő lépések