Udostępnij za pośrednictwem


Funkcje skalarne ODBC (Transact-SQL)

Można użyć Funkcji skalarnej ODBC w Transact-SQL instrukcji.Instrukcje te są interpretowane przez SQL Server.Można ich używać w procedury przechowywane i funkcje zdefiniowane przez użytkownika. Obejmują one ciąg, numeric, czas, data, interwału i funkcje systemowe.

Użycie

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

Funkcje

Następujące tabele listy funkcje wartość skalarna ODBC, które nie są duplikowane w Transact-SQL.

Funkcje ciągów

Funkcja

Opis

BIT_LENGTH (string_exp) (ODBC 3.0)

Zwraca długość w bitachwyrażenie ciąg.

Nie działa tylko w przypadku typów danych ciąg .Dlatego będzie nie niejawnie przekonwertować string_exp ciąg , ale zamiast niego będzie zwracać podany rozmiar (wewnętrzne) niezależnie od danych, wpisz ją.

CONCAT (string_exp1, string_exp2) (ODBC 1.0)

Zwraca ciąg znaków będący wynikiem concatenating string_exp2 do string_exp1.Wynikowy ciąg jest DBMS-zależnych.Na przykład, jeśli kolumna reprezentowane przez string_exp1 ustawiono wartość NULL, DB2 będzie zwrócona wartość NULL, ale SQL Server zwróci ciąg.

OCTET_LENGTH (string_exp) (ODBC 3.0)

Zwraca długość w bajtachwyrażenie ciąg. Wynik jest najmniejszą liczbą całkowitą nie mniejszą niż liczba bitów podzielonych 8.

Nie działa tylko w przypadku typów danych ciąg .Dlatego będzie nie niejawnie przekonwertować string_exp ciąg , ale zamiast niego będzie zwracać podany rozmiar (wewnętrzne) niezależnie od danych, wpisz ją.

Funkcja liczbowa

Funkcja

Opis

TRUNCATE (numeric_exp, integer_exp) (ODBC 2.0)

Zwraca numeric_exp obcięta do pozycji integer_exp prawo od przecinka dziesiętnego.Jeśli integer_exp jest ujemna, numeric_exp, jest obcinana do wartości |integer_exp| stanowiska po lewej stronie przecinka dziesiętnego.

Funkcje interwał, daty i czasu

Funkcja

Opis

(CURRENT_DATE) (ODBC 3.0)

Zwraca bieżącą datę.

CURRENT_TIME [( czas-precision)] (ODBC 3.0)

Zwraca wartość bieżącego czaslokalnego.czas-dokładność argument określa dokładność sekund zwrócona wartość

DAYNAME (date_exp) (ODBC 2.0)

Zwraca ciąg znaków zawierający nazwę Hardware Abstraction Layer źródłodanych dzień (na przykład, od niedzieli do soboty, Sun.za pośrednictwem Sat.dla danych źródło używającej języka angielskiego lub Sonntag przez Samstag dla danych źródło , którego używa niemieckim) w dniu części date_exp.

DAYOFMONTH (date_exp) (ODBC 1.0)

Zwraca dzień miesiąca, w oparciu o miesiąca pole w date_exp jako wartość całkowitą z zakres 1-31.

DAYOFWEEK (date_exp) (ODBC 1.0)

Zwraca dzień tygodnia, w oparciu o tydzień pole w date_exp jako wartość całkowitą z zakres od 1 do 7, gdzie 1 odpowiada niedzieli.

GODZINY (time_exp) (ODBC 1.0)

Zwraca godzinę, w oparciu o godzinę pole w time_exp jako wartość całkowitą z zakres 0-23.

MINUTE (time_exp) (ODBC 1.0)

Zwraca minutę, oparte na minutę pole w time_exp jako wartość całkowitą z zakres od 00-59.

MONTHNAME (date_exp) (ODBC 2.0)

Zwraca ciąg znaków zawierający nazwę Hardware Abstraction Layer źródłodanych miesiąca (na przykład od stycznia do grudnia lub sty.za pośrednictwem gru.dla danych źródło używającym języka angielskiego lub stycznia za pośrednictwem Dezember dla danych źródło , korzystającej z niemieckiej) część miesiąca date_exp.

KWARTAŁ (date_exp) (ODBC 1.0)

Zwraca kwartał w date_exp jako wartość całkowitą z zakres 1-4, gdzie 1 oznacza 1 stycznia do dnia 31 marca.

TYDZIEŃ (date_exp) (ODBC 1.0)

Zwraca tydzień roku, oparty na tydzień pole w date_exp jako wartość całkowitą z zakres 1–53.

Przykłady

A.Za pomocą ODBC funkcja w procedura składowana

W poniższym przykładzie użyto funkcja ODBC programu w procedura składowana:

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

B.Za pomocą funkcji ODBC w zdefiniowanej przez użytkownika funkcja

Poniższy przykład używa ODBC funkcja zdefiniowanej przez użytkownika funkcja:

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.Za pomocą funkcji ODBC w instrukcji SELECT

Następujące instrukcje SELECT za pomocą funkcji ODBC:

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

Zobacz także

Odwołanie