Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar objektet på det angivna indexet från en lista med värden i SQL Server.
Transact-SQL syntaxkonventioner
Syntax
CHOOSE ( index, val_1, val_2 [, val_n ] )
Arguments
index
Är ett heltalsuttryck som representerar ett 1-baserat index i listan över posterna efter.
Om det angivna indexvärdet har en numerisk datatyp annan än int, omvandlas värdet implicit till ett heltal. Om indexvärdet överskrider gränserna för arrayen av värden, returnerar SELECT noll.
val_1 ... val_n
Lista över kommaseparerade värden av valfri datatyp.
Returtyper
Returnerar datatypen med högst prioritet från mängden av typer som skickats till funktionen. Mer information finns i Data Type Precedence (Transact-SQL).
Anmärkningar
CHOOSE fungerar som ett index i en array, där arrayen består av de argument som följer indexargumentet. Indexargumentet avgör vilka av följande värden som returneras.
Examples
A. Enkelt exempel på VÄLJ
Följande exempel returnerar det tredje elementet från listan över värden som tillhandahålls.
SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;
Här är resultatet.
Result
-------------
Developer
(1 row(s) affected)
B. Enkelt SELECT-exempel baserat på kolumn
Följande exempel ger en enkel teckensträng baserad på värdet i kolumnen ProductCategoryID .
USE AdventureWorks2022;
GO
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1
FROM Production.ProductCategory;
Här är resultatet.
ProductCategoryID Expression1
----------------- -----------
3 C
1 A
2 B
4 D
(4 row(s) affected)
C. VÄLJ i kombination med MÅNAD
Följande exempel visar den säsong då en produktmodell senast modifierades. Funktionen MONTH används för att returnera månadsvärdet från kolumnen ModifiedDate. Funktionen CHOOSE används för att tilldela en säsong på norra halvklotet. Detta exempel använder databasen AdventureWorksLT , som snabbt kan installeras som exempeldatabas för en ny Azure SQL-databas. Mer information finns i AdventureWorks-exempeldatabaser.
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;
Här är resultatet.
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)