Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümler
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database in Microsoft Fabric
Bu fonksiyon, bir veya daha fazla ifade listesinden minimum değeri döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
LEAST ( expression1 [ , ...expressionN ] )
Arguments
ifade1, expressionN
Herhangi bir karşılaştırılabilir veri türüne ait virgülle ayrılmış ifadelerin listesi. Fonksiyon LEAST en az bir argüman gerektirir ve en fazla 254 argümanı destekler.
Her ifade sabit, değişken, sütun adı veya fonksiyonu ve aritmetik, bit olarak ve dizi operatörlerinin herhangi bir kombinasyonu olabilir. Toplu fonksiyonlar ve skaler alt sorgular izinlidir.
Dönüş türleri
Fonksiyona aktarılan tipler kümesinden en yüksek önceliğe sahip veri tipini döndürür. Daha fazla bilgi için bkz. Veri Türü Önceliği (Transact-SQL).
Tüm argümanlar aynı veri tipine sahipse ve tür karşılaştırma için destekleniyorsa, LEAST o tür döner.
Aksi takdirde, fonksiyon tüm argümanları karşılaştırmadan önce en yüksek öncelikli veri tipine dolaylı olarak dönüştürür ve bu tür dönüş tipi olarak kullanır.
Sayısal tipler için, dönüş türünün ölçeği en yüksek öncelik argümanı ile aynı olur ya da birden fazla argüman en yüksek öncelikli veri türüne sahipse en büyük ölçek olur.
Açıklamalar
Argüman listesindeki tüm ifadeler, karşılaştırılabilir ve en yüksek öncelikli argümanın veri tipine dolaylı olarak dönüştürülebilecek bir veri tipine sahip olmalıdır.
Tüm argümanların en yüksek öncelikli veri türüne örtük olarak dönüştürülmesi karşılaştırmadan önce gerçekleşir.
Argümanlar arasında örtük tür dönüşümü desteklenmezse, fonksiyon başarısız olur ve hata döndürür.
İmplicit ve açık dönüşüm hakkında daha fazla bilgi için bkz. Veri Tipi Dönüşümü (Veritabanı Motoru).
Eğer bir veya daha fazla argüman değilse NULL, NULL karşılaştırma sırasında argümanlar göz ardı edilir. Eğer tüm argümanlar ise NULL, döner LEASTNULL.
Karakter argümanlarının karşılaştırılması, Collation Precedence (Transact-SQL) kurallarına uygundur.
Aşağıdaki tipler karşılaştırma için desteklenmezLEAST: varchar(max), varbinary(max) veya nvarchar(max) 8.000 baytı aşan örnekler, imleç, geometri, coğrafya, görüntü, bayt sıralanmamış kullanıcı tanımlı tipler, ntext, tablo, metin ve xml.
varchar(max), varbinary(max) ve nvarchar(max) veri türleri, 8.000 bayt veya daha az argümanlar için desteklenir ve karşılaştırmadan önce dolaylı olarak varchar(n), varbinary(n) ve nvarchar(n)'ye dönüştürülür.
Örneğin, varchar(max) tek baytlı kodlama karakter seti kullanıldığında 8.000 karaktere kadar destekleyebilir ve nvarchar(max) ise 4.000 bayt çiftini destekleyebilir (UTF-16 karakter kodlaması varsayarsa).
Örnekler
A. Bir sabitler listesinden minimum değeri döndür
Aşağıdaki örnek, sağlanan sabitler listesinden minimum değeri geri getirir.
Dönüş türünün ölçeği, en yüksek öncelikli veri tipine sahip argümanın ölçeğine göre belirlenir.
SELECT LEAST('6.62', 3.1415, N'7') AS LeastVal;
GO
Sonuç kümesi aşağıdadır.
LeastVal
-------
3.1415
(1 rows affected)
B. Karakter tipleri listesinden minimum değeri döndür
Aşağıdaki örnek, sağlanan karakter sabitleri listesindeki minimum değeri geri getirir.
SELECT LEAST('Glacier', N'Joshua Tree', 'Mount Rainier') AS LeastString;
GO
Sonuç kümesi aşağıdadır.
LeastString
-------------
Glacier
(1 rows affected)
C. Sütun argümanları listesinden minimum değeri döndür
Bu örnek, sütun argümanları listesindeki minimum değeri döndürür ve karşılaştırma sırasında değerleri NULL görmezden gelir. Bu örnek, yeni bir Azure SQL Veritabanı için örnek veritabanı olarak hızlıca kurulabilen veritabanını AdventureWorksLT kullanır. Daha fazla bilgi için bkz. AdventureWorks örnek veritabanları.
SELECT P.Name,
P.SellStartDate,
P.DiscontinuedDate,
PM.ModifiedDate AS ModelModifiedDate,
LEAST(P.SellStartDate, P.DiscontinuedDate, PM.ModifiedDate) AS EarliestDate
FROM SalesLT.Product AS P
INNER JOIN SalesLT.ProductModel AS PM
ON P.ProductModelID = PM.ProductModelID
WHERE LEAST(P.SellStartDate, P.DiscontinuedDate, PM.ModifiedDate) >= '2007-01-01'
AND P.SellStartDate >= '2007-01-01'
AND P.Name LIKE 'Touring %'
ORDER BY P.Name;
Sonuç kümesi aşağıdadır.
EarliestDate üç değerden en küçük tarih değerini seçer, NULL.
Name SellStartDate DiscontinuedDate ModelModifiedDate EarliestDate
---------------------- ----------------------- ------------------- ----------------------- -----------------------
Touring Pedal 2007-07-01 00:00:00.000 NULL 2009-05-16 16:34:29.027 2007-07-01 00:00:00.000
Touring Tire 2007-07-01 00:00:00.000 NULL 2007-06-01 00:00:00.000 2007-06-01 00:00:00.000
Touring Tire Tube 2007-07-01 00:00:00.000 NULL 2007-06-01 00:00:00.000 2007-06-01 00:00:00.000
(3 rows affected)
D. Yerel değişkenlerle kullanım LEAST
Bu örnek, bir WHERE cümlenin önlemindeki yerel değişkenler listesinin minimum değerini belirlemek için kullanılırLEAST.
CREATE TABLE dbo.Studies (
VarX VARCHAR(10) NOT NULL,
Correlation DECIMAL(4, 3) NULL
);
INSERT INTO dbo.Studies
VALUES ('Var1', 0.2),
('Var2', 0.825),
('Var3', 0.61);
GO
DECLARE @PredictionA DECIMAL(2, 1) = 0.7;
DECLARE @PredictionB DECIMAL(3, 1) = 0.65;
SELECT VarX,
Correlation
FROM dbo.Studies
WHERE Correlation < LEAST(@PredictionA, @PredictionB);
GO
Sonuç kümesi aşağıdadır. Yalnızca 0.65'ten küçük değerler gösterilir.
VarX Correlation
---------- -----------
Var1 .200
Var3 .610
(2 rows affected)
E. Sütunlar, sabitler ve değişkenlerle kullanım LEAST
Bu örnek, sütunlar, sabitler ve değişkenleri içeren bir listenin minimum değerini belirlemek için kullanılır LEAST .
CREATE TABLE dbo.Studies (
VarX VARCHAR(10) NOT NULL,
Correlation DECIMAL(4, 3) NULL
);
INSERT INTO dbo.Studies
VALUES ('Var1', 0.2),
('Var2', 0.825),
('Var3', 0.61);
GO
DECLARE @VarX DECIMAL(4, 3) = 0.59;
SELECT VarX,
Correlation,
LEAST(Correlation, 1.0, @VarX) AS LeastVar
FROM dbo.Studies;
GO
Sonuç kümesi aşağıdadır.
VarX Correlation LeastVar
---------- --------------------- ---------------------
Var1 0.200 0.200
Var2 0.825 0.590
Var3 0.610 0.590
(3 rows affected)