Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Geeft het item terug op de opgegeven index uit een lijst met waarden in SQL Server.
Transact-SQL syntaxis-conventies
Syntaxis
CHOOSE ( index, val_1, val_2 [, val_n ] )
Arguments
index
Is een gehele expressie die een 1-gebaseerde index voorstelt in de lijst van de volgende items.
Als de opgegeven indexwaarde een ander numeriek datatype dan int heeft, wordt de waarde impliciet omgezet in een geheel getal. Als de indexwaarde de grenzen van de array van waarden overschrijdt, geeft CHOOSE null terug.
val_1 ... val_n
Lijst van komma-gescheiden waarden van elk datatype.
Retourtypen
Geeft het datatype met de hoogste prioriteit terug uit de set types die aan de functie zijn doorgegeven. Zie prioriteit voor gegevenstypen (Transact-SQL) voor meer informatie.
Opmerkingen
CHOOSE fungeert als een index in een array, waarbij de array bestaat uit de argumenten die volgen op het indexargument. Het indexargument bepaalt welke van de volgende waarden worden teruggegeven.
Voorbeelden
Eén. Eenvoudig voorbeeld van CHOOSE
Het volgende voorbeeld geeft het derde item uit de lijst met waarden terug die wordt gegeven.
SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;
Hier is het resultatenoverzicht.
Result
-------------
Developer
(1 row(s) affected)
B. Eenvoudig CHOOSE-voorbeeld gebaseerd op kolom
Het volgende voorbeeld geeft een eenvoudige tekenreeks terug op basis van de waarde in de ProductCategoryID kolom.
USE AdventureWorks2022;
GO
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1
FROM Production.ProductCategory;
Hier is het resultatenoverzicht.
ProductCategoryID Expression1
----------------- -----------
3 C
1 A
2 B
4 D
(4 row(s) affected)
C. KIES in combinatie met MAAND
Het volgende voorbeeld geeft het seizoen weer waarin een productmodel voor het laatst is aangepast. De MONTH functie wordt gebruikt om de maandwaarde uit de kolom ModifiedDateterug te geven. De CHOOSE functie wordt gebruikt om een seizoen op het noordelijk halfrond toe te wijzen. Dit voorbeeld gebruikt de AdventureWorksLT database, die snel kan worden geïnstalleerd als voorbeelddatabase voor een nieuwe Azure SQL-database. Zie AdventureWorks-voorbeelddatabasesvoor meer informatie.
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;
Hier is het resultatenoverzicht.
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)