Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Ve Transact-SQL příkazech můžete použít ODBC Scalar Functions . Tyto výroky jsou interpretovány SQL Serverem. Lze je použít v uložených procedurách a uživatelsky definovaných funkcích. Patří sem řetězcové, číselné, časové, date, intervalové a systémové funkce.
Usage
SELECT {fn <function_name> [ (<argument>,....n) ] }
Functions
Následující tabulky uvádějí ODBC skalární funkce, které nejsou v Transact-SQL duplikovány.
Řetězcové funkce
| Funkce | Description |
|---|---|
| BIT_LENGTH( string_exp ) (ODBC 3.0) | Vrací délku v bitech řetězcového výrazu. Vrátí vnitřní velikost daného datového typu, aniž by string_exp převáděl na řetězec. |
| CONCAT( string_exp1,string_exp2) (ODBC 1.0) | Vrátí řetězec znaků, který je výsledkem konkatenace string_exp2 do string_exp1. Výsledný řetězec je závislý na DBMS. Například pokud sloupec reprezentovaný string_exp1 obsahoval hodnotu NULL, DB2 by vrátil NULL, ale SQL Server by vrátil řetězec ne-NULL. |
| OCTET_LENGTH( string_exp ) (ODBC 3.0) | Vrací délku řetězcového výrazu v bajtech. Výsledkem je nejméně celé číslo, které není menší než počet bitů děleno 8. Vrátí vnitřní velikost daného datového typu, aniž by string_exp převáděl na řetězec. |
Numerická funkce
| Funkce | Description |
|---|---|
| TRUNCATE( numeric_exp, integer_exp) (ODBC 2.0) | Návraty numeric_exp zkráceny na integer_exp pozic vpravo od desetinné čárky. Pokud je integer_exp záporné, numeric_exp se zkrátí na |integer_exp| pozice vlevo od desetinné čárky. |
Funkce času, data a intervalu
| Funkce | Description |
|---|---|
| CURRENT_DATE( ) (ODBC 3.0) | Vrátí aktuální datum. |
| CURDATE( ) (ODBC 3.0) | Vrátí aktuální datum. |
CURRENT_TIME[( time-precision )] (ODBC 3.0) |
Vrací aktuální místní čas. Argument časové přesnosti určuje přesnost vrácené hodnoty v sekundách |
| CURTIME() (ODBC 3.0) | Vrací aktuální místní čas. |
| DAYNAME( date_exp ) (ODBC 2.0) | Vrátí znakový řetězec, který obsahuje název dne pro datový zdroj pro část dne date_exp. Například název je neděle až sobota nebo neděle. až do soboty. pro datový zdroj, který používá angličtinu. Název je Sonntag přes Samstag pro datový zdroj, který používá němčinu. |
| DAYOFMONTH( date_exp ) (ODBC 1.0) | Vrací den v měsíci na základě pole měsíce v date_exp jako celé číslo. Hodnota návratu je v rozmezí 1-31. |
| DAYOFWEEK( date_exp ) (ODBC 1.0) | Vrací den v týdnu na základě pole týdne v date_exp jako celé číslo. Návratová hodnota je v rozmezí 1-7, kde 1 představuje neděli. |
| HODINA( time_exp ) (ODBC 1.0) | Vrací hodinu na základě pole hodiny v time_exp jako celočíselnou hodnotu v rozsahu 0–23. |
| MINUTA( time_exp ) (ODBC 1.0) | Vrací minutu na základě pole minut v time_exp jako celočíselnou hodnotu v rozsahu 0–59. |
| DRUHÝ( time_exp ) (ODBC 1.0) | Vrátí druhé číslo založené na druhém poli v time_exp jako celočíselnou hodnotu v rozsahu 0–59. |
| MONTHNAME( date_exp ) (ODBC 2.0) | Vrátí znakový řetězec, který obsahuje název měsíce pro datový zdroj pro část měsíce date_exp. Například název je leden až prosinec nebo leden až prosinec pro zdroj dat, který používá angličtinu. Název je Januar až Dezember pro datový zdroj, který používá němčinu. |
| ČTVRTINA( date_exp ) (ODBC 1.0) | Čtvrtletí v roce date_exp vrací jako celočíselnou hodnotu v rozmezí 1–4, kde 1 představuje období od 1. ledna do 31. března. |
| TÝDEN( date_exp ) (ODBC 1.0) | Vrací týden v roce, založený na poli týdne v date_exp, jako celočíselnou hodnotu v rozmezí 1–53. |
Examples
A. Použití funkce ODBC v uložené procedurě
Následující příklad používá funkci ODBC v uložené procedurě:
CREATE PROCEDURE dbo.ODBCprocedure
(
@string_exp NVARCHAR(4000)
)
AS
SELECT {fn OCTET_LENGTH( @string_exp )};
B. Použití funkce ODBC v uživatelsky definované funkci
Následující příklad používá funkci ODBC v uživatelsky definované funkci:
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
Poznámka:
Microsoft Fabric podporuje ODBC skalární funkce, ale v současnosti nepodporuje uživatelsky definované funkce, které vracejí hodnoty, jak je ukázáno v Příkladu B.
C. Použití funkcí ODBC v příkazech SELECT
Následující příkazy SELECT používají funkce 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 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říklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
D. Použití funkce ODBC v uložené procedurě
Následující příklad používá funkci ODBC v uložené procedurě:
CREATE PROCEDURE dbo.ODBCprocedure
(
@string_exp NVARCHAR(4000)
)
AS
SELECT {fn BIT_LENGTH( @string_exp )};
E. Použití funkce ODBC v uživatelsky definované funkci
Následující příklad používá funkci ODBC v uživatelsky definované funkci:
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. Použití funkcí ODBC v příkazech SELECT
Následující příkazy SELECT používají funkce ODBC:
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