Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwraca element na określonym indeksie z listy wartości w SQL Server.
Transact-SQL konwencje składni
Składnia
CHOOSE ( index, val_1, val_2 [, val_n ] )
Arguments
indeks
Jest wyrażeniem liczbowym reprezentującym indeks oparty na 1 w liście elementów następujących po nim.
Jeśli podana wartość indeksu ma inny typ danych niż int, wartość ta jest niejawnie przekształcana w liczbę całkowitą. Jeśli wartość indeksu przekracza ograniczenia tablicy wartości, SELECT zwraca wartość zerową.
val_1 ... val_n
Lista wartości oddzielonych przecinkami dowolnego typu danych.
Typy zwracane
Zwraca typ danych o najwyższym przykładzie spośród zestawu typów przekazanych funkcji. Aby uzyskać więcej informacji, zobacz pierwszeństwo typu danych (Transact-SQL).
Uwagi
SELECT działa jak indeks w tablicy, gdzie tablica składa się z argumentów następujących po argumentze indeksu. Argument indeksu określa, która z poniższych wartości zostanie zwrócona.
Przykłady
A. Prosty przykład SELECT
Poniższy przykład zwraca trzeci element z listy wartości, która jest dostępna.
SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;
Oto zestaw wyników.
Result
-------------
Developer
(1 row(s) affected)
B. Prosty przykład SELECT oparty na kolumnie
Poniższy przykład zwraca prosty ciąg znaków na podstawie wartości w kolumnie ProductCategoryID .
USE AdventureWorks2022;
GO
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1
FROM Production.ProductCategory;
Oto zestaw wyników.
ProductCategoryID Expression1
----------------- -----------
3 C
1 A
2 B
4 D
(4 row(s) affected)
C. SELECT w połączeniu z MONTH
Poniższy przykład przywraca sezon, w którym model produktu został ostatnio zmodyfikowany. Funkcja ta MONTH służy do zwracania wartości miesiąca z kolumny ModifiedDate. Funkcja ta CHOOSE służy do przypisania sezonu na półkuli północnej. Ten przykład wykorzystuje bazę AdventureWorksLT danych, którą można szybko zainstalować jako przykładową bazę danych dla nowej bazy Azure SQL. Aby uzyskać więcej informacji, zobacz przykładowe bazy danych AdventureWorks .
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;
Oto zestaw wyników.
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)