Megosztás a következőn keresztül:


ODBC skaláris függvények (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Az ODBC skaláris függvényeket használhatod Transact-SQL utasításokban. Ezeket az állításokat az SQL Server értelmezi. Tárolt eljárásokban és felhasználó által definiált függvényekben is használhatók. Ezek közé tartoznak a string, numerikus, idő, dátum, intervallum és rendszerfüggvények.

Usage

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

Functions

Az alábbi táblázatok olyan ODBC skaláris függvényeket sorolnak fel, amelyeket a Transact-SQL-ben nem duplikálnak.

Sztringfüggvények

Funkció Description
BIT_LENGTH( string_exp ) (ODBC 3.0) Visszaadja a string kifejezés bitben történő hosszát.

Visszaadja az adott adattípus belső méretét, anélkül, hogy string_exp átalakítaná stringté.
CONCAT( string_exp1,string_exp2) (ODBC 1.0) Egy karakterláncot ad vissza, amely string_exp2 összekötésének eredménye string_exp1-vel. Az így kapott string DBMS-függő. Például, ha az string_exp1-val jelölt oszlop tartalmaz NULL értéket, a DB2 NULL-t adna vissza, míg az SQL Server a nem NULL stringet adná vissza.
OCTET_LENGTH( string_exp ) (ODBC 3.0) Visszaadja a string kifejezésének bájtokban terjedő hosszát. Az eredmény a legkisebb egész szám, amely nem kisebb a bitek számának 8-cal osztva

Visszaadja az adott adattípus belső méretét, anélkül, hogy string_exp átalakítaná stringté.

Numerikus függvény

Funkció Description
TRUNCATE( numeric_exp, integer_exp) (ODBC 2.0) A visszajelzések numeric_exp a tizedesponttól jobbra integer_exp pozícióra vágva. Ha integer_exp negatív, akkor numeric_exp lerövidítik |integer_exp| a tizedesponttól balra helyezett pozíciók.

Idő-, dátum- és intervallumfüggvények

Funkció Description
CURRENT_DATE( ) (ODBC 3.0) Az aktuális dátumot adja vissza.
CURDATE() (ODBC 3.0) Az aktuális dátumot adja vissza.
CURRENT_TIME[( time-precision )] (ODBC 3.0) Visszaadja az aktuális helyi időt. Az idő-precizitásos érv határozza meg a visszaadott érték másodperces pontosságát
CURTIME() (ODBC 3.0) Visszaadja az aktuális helyi időt.
NAPNÉV(date_exp) (ODBC 2.0) Egy karakterláncot ad vissza, amely tartalmazza a nap adatforrás-specifikus nevét a date_exp napjának. Például a név vasárnaptól szombatig vagy vasárnapig van. szombatig. egy angol adatforráshoz. A név Sonntag, Samstag révén egy német adatforrás számára.
DAYOFMONTH (date_exp) (ODBC 1.0) A hónap napját adja vissza, a date_exp hónapmezőjének alapján, egész számként. A hozamérték 1-31 között van.
HÉT NAPJA (date_exp) (ODBC 1.0) A hét napját a hétmező alapján adja vissza date_exp-ben egész számként. A hozamérték 1-7 között van, ahol 1 vasárnapot jelképez.
ÓRA( time_exp ) (ODBC 1.0) Az órát adja vissza az time_exp órámező alapján, mint egész számértéket 0-23 között.
PERC(time_exp) (ODBC 1.0) A percet, amely a percmező alapján time_exp-ben működik, egész értékként adja vissza 0-59 közötti tartományban.
MÁSOD( time_exp) (ODBC 1.0) A másodikot, amely a time_exp második mezőjén alapul, egész értékként adja vissza 0-59 közötti tartományban.
MONTHNAME( date_exp) (ODBC 2.0) Egy karakterláncot ad vissza, amely tartalmazza a hónap adatforrás-specifikus nevét a date_exp hónapjában. Például a név januártól decemberig, vagy januártól decemberig egy angol adatforrás esetében. A név Januar-tól Dezemberig egy német adatforrást jelent.
NEGYED( date_exp ) (ODBC 1.0) A negyedévet date_exp-ben egész értékként adja vissza, 1-4 között, ahol 1 január 1-től március 31-ig terjed.
HÉT(date_exp) (ODBC 1.0) Az év hetét, a date_exp hétmező alapján, egész értékként adja vissza 1-53 közötti tartományban.

Példák

A. ODBC függvény használata tárolt eljárásban

Az alábbi példa egy ODBC függvényt használ egy tárolt eljárásban:

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

B. ODBC függvény használata felhasználó által definiált függvényben

Az alábbi példa egy ODBC függvényt használ egy felhasználó által definiált függvényben:

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 ;  
GO
SELECT dbo.ODBCudf('Returns the length.');  
--Returns 38  

Megjegyzés:

A Microsoft Fabric támogatja az ODBC skaláris függvényeket, de jelenleg nem támogatja olyan felhasználói definiált függvényeket, amelyek értékeket adnak vissza, ahogy azt a B példa is mutatja.

C. ODBC függvények használata a SELECT utasításokban

Az alábbi SELECT állítások ODBC függvényeket használnak:

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 SECOND( @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  

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

D. ODBC függvény használata tárolt eljárásban

Az alábbi példa egy ODBC függvényt használ egy tárolt eljárásban:

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

E. ODBC függvény használata felhasználó által definiált függvényben

Az alábbi példa egy ODBC függvényt használ egy felhasználó által definiált függvényben:

CREATE FUNCTION dbo.ODBCudf  
(  
    @string_exp NVARCHAR(4000)  
)  
RETURNS INT  
AS  
BEGIN  
DECLARE @len INT  
SET @len = (SELECT {fn BIT_LENGTH( @string_exp )})  
RETURN(@len)  
END ;  
GO
SELECT dbo.ODBCudf('Returns the length in bits.');  
--Returns 432  

F. ODBC függvények használata a SELECT utasításokban

Az alábbi SELECT állítások ODBC függvényeket használnak:

DECLARE @string_exp NVARCHAR(4000) = 'Returns the length.';  
SELECT {fn BIT_LENGTH( @string_exp )};  
-- Returns 304  
  
SELECT {fn CONCAT( 'CONCAT ','returns a character string')};  
-- Returns CONCAT returns a character string  
SELECT {fn CURRENT_DATE( )};  
-- Returns today's date  
SELECT {fn CURRENT_TIME(6)};  
-- Returns the time  
  
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 SECOND( @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  

Lásd még:

Beépített függvények (Transact-SQL)