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