Aracılığıyla paylaş


ODBC skaler işlevleri (Transact-SQL)

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

Kullanım

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

İşlevler

Aşağıdaki tablolarda, çoğaltıldığı değil ODBC skaler işlevleri listelenmektedir. Transact-SQL.

Dize İşlevleri

İşlev

Açıklama

BIT_LENGTH (string_exp) (ODBC 3.0)

Dizenin bit uzunluğu döndürür ifade.

Yalnızca dize veri türleri için çalışmaz.Bu nedenle, örtülü olarak dize _exp dönüştürür değil dize ancak bunun yerine ne olursa olsun, verileri yazın, (iç) boyutu verilen döndürecektir.

Art arda Ekle (string_exp1, string_exp2) (ODBC 1.0)

Bir karakteri verir dize dize _exp2 dize _exp1 için bitiştirme yani sonucu.Sonuç dize DBMS bağımlıdır.String_exp1 tarafından temsil edilen sütun NULL değeri içeriyorsa, DB2 NULL, döndürecektir ancak SQL Server DEĞERSIZ olmayan dize döndürecektir.

OCTET_LENGTH (string_exp) (ODBC 3.0)

Uzunluk, dize ifadesi bayt cinsinden verir.Sonuç küçük tamsayı 8 göre bölünür bit sayısı daha az değil.

Yalnızca dize veri türleri için çalışmaz.Bu nedenle, örtülü olarak dize _exp dönüştürür değil dize ancak bunun yerine ne olursa olsun, verileri yazın, (iç) boyutu verilen döndürecektir.

Sayısal işlev

İşlev

Açıklama

TRUNCATE (numeric_exp, integer_exp) (ODBC 2.0)

Integer_exp konumlara ondalık noktasının sağ kesildi numeric_exp döndürür.Integer_exp negatifse, numeric_exp |integer_exp| konumlara, ondalık virgülün soluna yuvarlanır.

Saat ve tarih aralığı işlevler

İşlev

Açıklama

current_date (') (odbc 3.0)

Geçerli tarihi döndürür.

CURRENT_TIME [(saat duyarlıklı)] (ODBC 3.0)

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

DAYNAME (date_exp) (ODBC 2.0)

Returns a character string that contains the data source–specific name of the day (for example, Sunday through Saturday or Sun.through Sat.for a data source that uses English, or Sonntag through Samstag for a data source that uses German) for the day part of date_exp.

DAYOFMONTH (date_exp) (ODBC 1.0)

1–31 Aralığındaki bir tamsayı olarak date_exp Ay alanını temel alan ayın gününü verir.

DAYOFWEEK (date_exp) (ODBC 1.0)

Haftanın üzerinde alarak haftanın gününü verir alan date_exp 1–7, aralığındaki bir tamsayı değer olarak, Pazar 1 yeri gösterir.

Saat (time_exp) (ODBC 1.0)

Bir tamsayı değer olarak time_exp saat alanını temel alan saati verir aralık 0–23.

DAKIKA (time_exp) (ODBC 1.0)

Dakikayı üzerinde dayalı olan dakikayı verir alan time_exp 0–59 aralığındaki bir tamsayı değer olarak.

MONTHNAME (date_exp) (ODBC 2.0)

Returns a character string that contains the data source–specific name of the month (for example, January through December or Jan.through Dec.for a data source that uses English, or Januar through Dezember for a data source that uses German) for the month part of date_exp.

QUARTER (date_exp) (ODBC 1.0)

Bir tamsayı değer olarak, üç aylık dönem date_exp içinde döndürür aralık, 1–4, 1 Ocak 1 Mart 31 gösterir.

HAFTANıN (date_exp) (ODBC 1.0)

Yıl Hafta alanında date_exp 1–53 aralığındaki bir tamsayı olarak temel haftası döndürür.

Örnekler

C.Bir ODBC kullanarak işlev bir saklı yordam

Aşağıdaki örnek, bir ODBC kullanan işlev saklı yordamdaki:

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

b.Bir ODBC Function kullanıcı tanımlı bir işlev kullanma

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

c.SELECT deyimi içinde bir ODBC işlevleri'ni kullanma

Aşağıdaki SELECT deyimlerine ODBC işlevlerine 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

See Also

Reference