odbc skalar işlevleri (Transact-SQL)

Kullanabileceğiniz odbc skalar işlevleri de Transact-SQL ifadeleri.Bu ifadeler tarafından yorumlanır SQL Server.Bunlar, saklı yordamlar ve kullanıcı tanımlı işlevleri kullanılabilir. Bunlar, dize, sayısal, saat, tarih, aralık ve sistem işlevleriiçerir.

Kullanım

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

İşlevler

Aşağıdaki tablolar içinde yinelenmiyor listesi odbc skaler işlevleri Transact-SQL.

Dizi İşlevleri

İşlev

Açıklama

BIT_LENGTH (string_exp) (odbc 3.0)

dizeifadebit cinsinden uzunluğu döndürür.

Yalnızca dize veri türleri için çalışmaz.Bu nedenle, örtülü olarak string_exp dize dönüştürür değil ancak bunun yerine, ne olursa olsun veri türü (iç) boyutunu verilen geri döner.

concat (string_exp1, string_exp2) (odbc 1.0)

String_exp1 için concatenating string_exp2 sonucu bir karakter dize döndürür.DBMSsonuç dize olan-bağımlı.Örneğin, DB2 string_exp1 tarafından temsil edilen sütun null değeri içeriyorsa, null döner ama SQL Server boş olmayan bir dizedöndürür.

octet_length (string_exp) (odbc 3.0)

dizeifadebayt cinsinden uzunluğu döndürür. Sonuç en küçük tamsayı bölünmüş 8 bit sayısı az değil.

Yalnızca dize veri türleri için çalışmaz.Bu nedenle, örtülü olarak string_exp dize dönüştürür değil ancak bunun yerine, ne olursa olsun veri türü (iç) boyutunu verilen geri döner.

Sayısal işlev

İşlev

Açıklama

truncate (numeric_exp, integer_exp) (odbc 2.0)

İnteger_exp konumlara 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 sola.

Saat ve tarih aralığı işlevleri

İşlev

Açıklama

CURRENT_DATE () (ODBC 3.0)

Geçerli tarihi verir.

CURRENT_TIME [( saat-precision)] (odbc 3.0)

Geçerli yerel saatdöndürür.saat-precision bağımsız değişkeni dönen değeri saniye duyarlığını belirler

dayname (date_exp) (odbc 2.0)

Veri kaynak–specific adı (örneğin, Cumartesi ya da Sun Pazar. günün içeren bir karakter dize döndürürDoy.İngilizce veya Sonntag Samstag aracılığıyla Almanca kullanan bir veri kaynak için kullanan bir veri kaynak ) için date_exp gün bölümü için.

dayofmonth (date_exp) (odbc 1.0)

Date_exp ay alan günleri 1-31 aralık 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 date_exp aralık sayısı için 1–7 arası, 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 aralık 0-23 arasında bir tamsayı değeri olarak temel saati verir.

DAKİKA (time_exp) (odbc 1.0)

Time_exp dakika alan aralık 0-59 arasında bir tamsayı değeri olarak temel dakikayı verir.

monthname (date_exp) (odbc 2.0)

Veri kaynak–specific adı (örneğin, Ocak'tan aralık veya Oca. ayın içeren bir karakter dize döndürürAra ile.İngilizce veya Januar Dezember aracılığıyla Almanca kullandığı veri kaynak kullanan bir veri kaynak ) için date_exp ay parçası için.

Üç aylık DÖNEM (date_exp) (odbc 1.0)

Üç ay içinde date_exp 1–4, aralık bir tamsayı değer olarak burada 1 Ocak 1 Mart 31 gösterir verir.

HAFTA (date_exp) (odbc 1.0)

Hafta alan date_exp 1–53 aralık bir tamsayı değeri olarak temel yılın haftası döndürür.

Örnekler

A.saklı yordamodbc işlev kullanma

Aşağıdaki örnek saklı yordamodbc işlev kullanır:

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

B.Kullanıcı tanımlı bir işleviçinde bir odbc işlevini kullanma

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

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

Ayrıca bkz.

Başvuru