Aracılığıyla paylaş


ODBC Skaler Fonksiyonları (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

ODBC Skaler Fonksiyonlarını Transact-SQL ifadelerinde kullanabilirsiniz. Bu ifadeler SQL Server tarafından yorumlanır. Depolanmış prosedürlerde ve kullanıcı tanımlı fonksiyonlarda kullanılabilirler. Bunlar arasında dize, sayısal, saat, tarih, aralık ve sistem fonksiyonları bulunur.

Usage

SELECT {fn <function_name> [ (<argument>,....n) ] }

Functions

Aşağıdaki tablolar, Transact-SQL'de çoğaltılmayan ODBC skaler fonksiyonlarını listeler.

Dize İşlevleri

İşlev Description
BIT_LENGTH( string_exp ) (ODBC 3.0) Dizi ifadesinin uzunluğunu bit cinsinden döndürür.

Verilen veri türünün iç boyutunu döndürür, string_exp diziye dönüştürmez.
CONCAT( string_exp1,string_exp2) (ODBC 1.0) string_exp2 birleştirmenin sonucu olan bir karakter dizisi string_exp1'ye döner. Ortaya çıkan dizi DBMS'ye bağımlıdır. Örneğin, string_exp1 ile temsil edilen sütun NULL değeri içeriyorsa, DB2 NULL döndürürken, SQL Server NULL olmayan diziyi döndürür.
OCTET_LENGTH( string_exp ) (ODBC 3.0) Dizi ifadesinin bayt cinsinden uzunluğunu döndürür. Sonuç olarak, bit sayısının 8'e bölünmesinden az olmayan en küçük tam sayı elde edilir.

Verilen veri türünün iç boyutunu döndürür, string_exp diziye dönüştürmez.

Sayısal Fonksiyon

İşlev Description
TRUNCATE( numeric_exp, integer_exp) (ODBC 2.0) Döndürmeler numeric_exp ondalık noktanın sağındaki integer_exp konuma kısaltılır. Eğer integer_exp negatif ise, numeric_exp |integer_exp| olarak kısaltılır. ondalık noktanın solunda konumlar.

Saat, Tarih ve Aralık İşlevleri

İşlev Description
CURRENT_DATE( ) (ODBC 3.0) Geçerli tarihi döndürür.
CURDATE( ) (ODBC 3.0) Geçerli tarihi döndürür.
CURRENT_TIME[( time-precision )] (ODBC 3.0) Mevcut yerel saati döndürüyor. Zaman hassasiyeti argümanı, geri dönen değerin saniye hassasiyetini belirler
CURTIME() (ODBC 3.0) Mevcut yerel saati döndürüyor.
DAYNAME (date_exp) (ODBC 2.0) date_exp'nin gün kısmı için veri kaynağına özgü günün adını içeren bir karakter dizisi döndürür. Örneğin, adı Pazar'dan Cumartesi'ye veya Pazar'a kadardır. Cumartesi aracılığıyla. İngilizce kullanan bir veri kaynağı için. İsim, Almanca kullanan veri kaynağı için Samstag aracılığıyla Sonntag'dır.
AYIN GÜNÜ( date_exp ) (ODBC 1.0) date_exp ay alanına göre ayın gününü tam sayı olarak döndürür. Geri dönüş değeri 1-31 aralığındadır.
HAFTANIN GÜNÜ (date_exp) (ODBC 1.0) Haftanın gününü haftanın alanına göre date_exp tam sayı olarak döndürür. Getiri değeri 1-7 aralığındadır ve 1 Pazar gününü temsil eder.
SAAT( time_exp ) (ODBC 1.0) time_exp'daki saat alanına göre saat değerini 0-23 aralığında tam sayı olarak döndürür.
DAKIKA( time_exp) (ODBC 1.0) time_exp'deki dakika alanına dayalı olarak dakikayı 0-59 aralığında tam sayı olarak döndürür.
İKINCI(time_exp) (ODBC 1.0) İkinci alanı, time_exp'daki ikinci alana göre 0-59 aralığında bir tam sayı değeri olarak döndürür.
MONTHNAME (date_exp) (ODBC 2.0) date_exp ayının ayı için ayın veri kaynağına özgü adını içeren bir karakter dizisi döndürür. Örneğin, İngilizce kullanan bir veri kaynağı için isim Ocak-Aralık veya Ocak-Aralık arasıdır. İsim, Almanca kullanan bir veri kaynağı için Januar'dan Dezember'e kadardır.
ÇEYREK(date_exp) (ODBC 1.0) date_exp çeyreğini 1-4 aralığında tam sayı değeri olarak döndürür; burada 1, 1 Ocak'tan 31 Mart'a kadar olan dönemi temsil eder.
HAFTA(date_exp) (ODBC 1.0) date_exp haftası alanına göre yılın haftasını 1-53 aralığında tam sayı değeri olarak döndürür.

Örnekler

A. Bir ODBC fonksiyonunun saklanan bir prosedürde kullanılması

Aşağıdaki örnek, bir ODBC fonksiyonunu bir kayıtlı prosedürde kullanır:

CREATE PROCEDURE dbo.ODBCprocedure  
(  
    @string_exp NVARCHAR(4000)  
)  
AS  
SELECT {fn OCTET_LENGTH( @string_exp )};  

B. Kullanıcı tanımlı bir fonksiyonda ODBC Fonksiyonu Kullanımı

Aşağıdaki örnek, kullanıcı tanımlı bir fonksiyonda bir ODBC fonksiyonu kullanır:

CREATE FUNCTION dbo.ODBCudf  
(  
    @string_exp NVARCHAR(4000)  
)  
RETURNS INT  
AS  
BEGIN  
DECLARE @len INT  
SET @len = (SELECT {fn OCTET_LENGTH( @string_exp )})  
RETURN(@len)  
END ;  
GO
SELECT dbo.ODBCudf('Returns the length.');  
--Returns 38  

Uyarı

Microsoft Fabric, ODBC skaler fonksiyonlarını destekler, ancak şu anda Örnek B'de gösterildiği gibi değer döndüren kullanıcı tanımlı fonksiyonları desteklemez.

C. SELECT ifadelerinde bir ODBC fonksiyonu kullanımı

Aşağıdaki SELECT ifadeleri ODBC fonksiyonlarını kullanır:

DECLARE @string_exp NVARCHAR(4000) = 'Returns the length.';  
SELECT {fn BIT_LENGTH( @string_exp )};  
-- Returns 304  
SELECT {fn OCTET_LENGTH( @string_exp )};  
-- Returns 38  
  
SELECT {fn CONCAT( 'CONCAT ','returns a character string')};  
-- Returns CONCAT returns a character string  
SELECT {fn TRUNCATE( 100.123456, 4)};  
-- Returns 100.123400  
SELECT {fn CURRENT_DATE( )};  
-- Returns 2007-04-20  
SELECT {fn CURRENT_TIME(6)};  
-- Returns 10:27:11.973000  
  
DECLARE @date_exp NVARCHAR(30) = '2007-04-21 01:01:01.1234567';  
SELECT {fn DAYNAME( @date_exp )};  
-- Returns Saturday  
SELECT {fn DAYOFMONTH( @date_exp )};  
-- Returns 21  
SELECT {fn DAYOFWEEK( @date_exp )};  
-- Returns 7  
SELECT {fn HOUR( @date_exp)};  
-- Returns 1   
SELECT {fn MINUTE( @date_exp )};  
-- Returns 1  
SELECT {fn SECOND( @date_exp )};  
-- Returns 1  
SELECT {fn MONTHNAME( @date_exp )};  
-- Returns April  
SELECT {fn QUARTER( @date_exp )};  
-- Returns 2  
SELECT {fn WEEK( @date_exp )};  
-- Returns 16  

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

D. Bir ODBC fonksiyonunun saklanan bir prosedürde kullanılması

Aşağıdaki örnek, bir ODBC fonksiyonunu bir kayıtlı prosedürde kullanır:

CREATE PROCEDURE dbo.ODBCprocedure  
(  
    @string_exp NVARCHAR(4000)  
)  
AS  
SELECT {fn BIT_LENGTH( @string_exp )};  

E. Kullanıcı tanımlı bir fonksiyonda ODBC Fonksiyonu Kullanımı

Aşağıdaki örnek, kullanıcı tanımlı bir fonksiyonda bir ODBC fonksiyonu kullanır:

CREATE FUNCTION dbo.ODBCudf  
(  
    @string_exp NVARCHAR(4000)  
)  
RETURNS INT  
AS  
BEGIN  
DECLARE @len INT  
SET @len = (SELECT {fn BIT_LENGTH( @string_exp )})  
RETURN(@len)  
END ;  
GO
SELECT dbo.ODBCudf('Returns the length in bits.');  
--Returns 432  

F. SELECT ifadelerinde bir ODBC fonksiyonu kullanımı

Aşağıdaki SELECT ifadeleri ODBC fonksiyonlarını kullanır:

DECLARE @string_exp NVARCHAR(4000) = 'Returns the length.';  
SELECT {fn BIT_LENGTH( @string_exp )};  
-- Returns 304  
  
SELECT {fn CONCAT( 'CONCAT ','returns a character string')};  
-- Returns CONCAT returns a character string  
SELECT {fn CURRENT_DATE( )};  
-- Returns today's date  
SELECT {fn CURRENT_TIME(6)};  
-- Returns the time  
  
DECLARE @date_exp NVARCHAR(30) = '2007-04-21 01:01:01.1234567';  
SELECT {fn DAYNAME( @date_exp )};  
-- Returns Saturday  
SELECT {fn DAYOFMONTH( @date_exp )};  
-- Returns 21  
SELECT {fn DAYOFWEEK( @date_exp )};  
-- Returns 7  
SELECT {fn HOUR( @date_exp)};  
-- Returns 1   
SELECT {fn MINUTE( @date_exp )};  
-- Returns 1  
SELECT {fn SECOND( @date_exp )};  
-- Returns 1  
SELECT {fn MONTHNAME( @date_exp )};  
-- Returns April  
SELECT {fn QUARTER( @date_exp )};  
-- Returns 2  
SELECT {fn WEEK( @date_exp )};  
-- Returns 16  

Ayrıca Bkz.

Yerleşik İşlevler (Transact-SQL)