Aracılığıyla paylaş


odbc skalar işlevleri (Transact-sql)

Sen-ebilmek kullanma odbc skalar işlevleri de Transact-SQLdeyimleri. Bu ifadeler tarafından yorumlanır SQL Server. Saklı yordamlar ve kullanıcı tanımlı işlevler kullanılabilir. Bu dize, sayısal, Saat, Tarih, aralığı ve sistem işlevleri içerir.

Kullanım

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

İşlevler

Aşağıdaki tablolar listesinde odbc skalar işlevleri de çoğaltılan değil Transact-SQL.

Dize işlevleri

İşlev

Açıklama

BIT_LENGTH (string_exp) (odbc 3.0)

Dize ifadesi bit cinsinden uzunluğu döndürür.

Yalnızca dize veri türleri için çalışmaz. Bu nedenle, dolaylı olarak string_exp dizeye dönüştürmek değil ama yerine ne olursa olsun veri (iç) boyutunu verilen dönecektir.

concat (string_exp1, string_exp2) (odbc 1.0)

String_exp1 için concatenating string_exp2 sonucu bir karakter dizesini döndürür. Sonuç dizesi dbms bağımlı olduğunu. DB2 string_exp1 tarafından temsil edilen sütun null değeri içeriyorsa, null döndürür ama SQL Serverboş olmayan bir dize döndürür.

octet_length (string_exp) (odbc 3.0)

String ifadeyi bayt cinsinden uzunluğu döndürür. Sonuç en küçük tamsayı yanında 8 bölü bit sayısı daha az değil.

Yalnızca dize veri türleri için çalışmaz. Bu nedenle, dolaylı olarak string_exp dizeye dönüştürmek değil ama yerine ne olursa olsun veri (iç) boyutunu verilen dönecektir.

Sayısal işlev

İşlev

Açıklama

truncate (numeric_exp, integer_exp) (odbc 2.0)

İnteger_exp pozisyonlara ondalık noktasının sağ kesilmiş numeric_exp döndürür. İnteger_exp negatif ise, numeric_exp |integer_exp| için kesilir. ondalık konumları sol.

Saat, Tarih ve aralığı işlevleri

İşlev

Açıklama

CURRENT_DATE () (ODBC 3.0)

Geçerli tarihi verir.

CURRENT_TIME [(zaman-duyarlık) (odbc 3.0)

Geçerli yerel saati döndürür. Zaman duyarlıklı bağımsız değişkeni döndürülen değer saniye duyarlık belirler

dayname (date_exp) (odbc 2.0)

Gün (örneğin, Cumartesi ya da Sun night. veri source–specific adı içeren bir karakter dizesini döndürür Sat. İngilizce veya Sonntag Samstag aracılığıyla Almanca kullanan bir veri kaynağı için kullanan bir veri kaynağı) için date_exp gün bölümü için.

dayofmonth (date_exp) (odbc 1.0)

Ay alanında date_exp 1–31 aralığındaki bir tamsayı değeri olarak temel ayın gününü döndürür.

dayofweek (date_exp) (odbc 1.0)

Burada 1 Pazar gösterir hafta alanında date_exp 1–7, aralığındaki bir tamsayı değeri olarak temel haftanın gününü döndürür.

Saat (time_exp) (odbc 1.0)

Saat alanı time_exp olarak aralığındaki bir tamsayı değeri olarak temel saati verir.

DAKİKA (time_exp) (odbc 1.0)

Time_exp dakika alanında 0–59 aralığındaki bir tamsayı değeri olarak temel dakikayı verir.

monthname (date_exp) (odbc 2.0)

Ay (örneğin, Ocak Aralık ya da Jan. veri source–specific adı içeren bir karakter dizesini döndürür Aralık. İngilizce veya Januar Dezember aracılığıyla Almanca kullanan bir veri kaynağı için kullanan bir veri kaynağı) için date_exp ay parçası için.

Çeyrek (date_exp) (odbc 1.0)

Üç ay içinde date_exp 1–4, aralığındaki bir tamsayı değeri olarak burada 1 1 Ocak-31 Mart temsil döndürür.

HAFTA (date_exp) (odbc 1.0)

Hafta hafta alanında date_exp olarak aralığındaki bir tamsayı değeri olarak temel yılı verir.

Örnekler

A.Bir saklı yordam odbc işlevini kullanma

Aşağıdaki örnek, bir saklı yordam için odbc işlevini kullanır:

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

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

B.Kullanıcı tanımlı bir işlev odbc işlevini kullanma

Aşağıdaki örnek, kullanıcı tanımlı bir işlev için odbc işlevini 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 ;

SELECT dbo.ODBCudf('Returns the length.');
--Returns 38

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 ;

SELECT dbo.ODBCudf('Returns the length.');
--Returns 38

C.select deyimi içinde bir odbc işlevleri kullanma

odbc işlevleri aşağıdaki select deyimleri kullanın:

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 MONTHNAME( @date_exp )};
-- Returns April
SELECT {fn QUARTER( @date_exp )};
-- Returns 2
SELECT {fn WEEK( @date_exp )};
-- Returns 16

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 MONTHNAME( @date_exp )};
-- Returns April
SELECT {fn QUARTER( @date_exp )};
-- Returns 2
SELECT {fn WEEK( @date_exp )};
-- Returns 16

Ayrıca bkz.

Başvuru

Yerleşik İşlevler (Transact-SQL)