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