Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Du kan använda ODBC Scalar Functions i Transact-SQL satser. Dessa satser tolkas av SQL Server. De kan användas i lagrade procedurer och användardefinierade funktioner. Dessa inkluderar sträng-, numeriska, tids-, datum-, intervall- och systemfunktioner.
Usage
SELECT {fn <function_name> [ (<argument>,....n) ] }
Functions
Följande tabeller listar ODBC-skalärfunktioner som inte dupliceras i Transact-SQL.
Strängfunktioner
| Funktion | Description |
|---|---|
| BIT_LENGTH( string_exp ) (ODBC 3.0) | Returnerar längden i bitar av stränguttrycket. Returnerar den interna storleken för den givna datatypen utan att konvertera string_exp till sträng. |
| CONCAT( string_exp1,string_exp2) (ODBC 1.0) | Returnerar en teckensträng som är resultatet av att string_exp2 konkateneras till string_exp1. Den resulterande strängen är beroende av DBMS. Till exempel, om kolumnen som representeras av string_exp1 innehöll ett NULL-värde, skulle DB2 returnera NULL men SQL Server skulle returnera den icke-NULL-strängen. |
| OCTET_LENGTH( string_exp ) (ODBC 3.0) | Returnerar längden i byte av stränguttrycket. Resultatet är det minsta heltalet inte mindre än antalet bitar dividerat med 8. Returnerar den interna storleken för den givna datatypen utan att konvertera string_exp till sträng. |
Numerisk funktion
| Funktion | Description |
|---|---|
| TRUNCATE( numeric_exp, integer_exp) (ODBC 2.0) | Returer numeric_exp trunkerade till integer_exp positioner höger om decimalpunkten. Om integer_exp är negativ avkortas numeric_exp till |integer_exp| positioner till vänster om decimalpunkten. |
Tids-, datum- och intervallfunktioner
| Funktion | Description |
|---|---|
| CURRENT_DATE( ) (ODBC 3.0) | Returnerar aktuellt datum. |
| CURDATE( ) (ODBC 3.0) | Returnerar aktuellt datum. |
CURRENT_TIME[( time-precision )] (ODBC 3.0) |
Returnerar aktuell lokal tid. Tidsprecisionsargumentet bestämmer sekundprecisionen för det returnerade värdet |
| CURTIME() (ODBC 3.0) | Returnerar aktuell lokal tid. |
| DAYNAME( date_exp ) (ODBC 2.0) | Returnerar en teckensträng som innehåller dagens datakällaspecifika namn för dagens del av date_exp. Till exempel heter det Sunday till Saturday eller Sun. genom lördag. för en datakälla som använder engelska. Namnet är Sonntag genom Samstag för en datakälla som använder tyska. |
| MÅNADSDAG( date_exp ) (ODBC 1.0) | Returnerar månadsdagen, baserat på månadsfältet i date_exp, som ett heltal. Avkastningsvärdet ligger i intervallet 1-31. |
| VECKODAG( date_exp ) (ODBC 1.0) | Returnerar veckodagen baserad på veckofältet i date_exp som ett heltal. Avkastningsvärdet ligger i intervallet 1-7, där 1 representerar söndag. |
| TIMME( time_exp ) (ODBC 1.0) | Returnerar tim, baserat på timfältet i time_exp, som ett heltalsvärde i intervallet 0–23. |
| MINUT( time_exp ) (ODBC 1.0) | Returnerar minuten, baserat på minutfältet i time_exp, som ett heltalsvärde i intervallet 0–59. |
| ANDRA( time_exp ) (ODBC 1.0) | Returnerar det andra, baserat på det andra fältet i time_exp, som ett heltalsvärde i intervallet 0–59. |
| MÅNADSNAMN( date_exp ) (ODBC 2.0) | Returnerar en teckensträng som innehåller det datakällspecifika namnet på månaden för månadsdelen av date_exp. Till exempel heter det januari till december eller januari till december för en datakälla som använder engelska. Namnet är januari till december för en datakälla som använder tyska. |
| KVART (date_exp) (ODBC 1.0) | Returnerar kvartalet i date_exp som ett heltalsvärde i intervallet 1–4, där 1 representerar 1 januari till 31 mars. |
| VECKA( date_exp ) (ODBC 1.0) | Returnerar veckans vecka, baserat på veckofältet i date_exp, som ett heltalsvärde i intervallet 1-53. |
Examples
A. Att använda en ODBC-funktion i en lagrad procedur
Följande exempel använder en ODBC-funktion i en lagrad procedur:
CREATE PROCEDURE dbo.ODBCprocedure
(
@string_exp NVARCHAR(4000)
)
AS
SELECT {fn OCTET_LENGTH( @string_exp )};
B. Att använda en ODBC-funktion i en användardefinierad funktion
Följande exempel använder en ODBC-funktion i en användardefinierad funktion:
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
Anmärkning
Microsoft Fabric stöder ODBC-skalära funktioner, men stöder för närvarande inte användardefinierade funktioner som returnerar värden, som visas i exempel B.
C. Att använda en ODBC funktioner i SELECT-satser
Följande SELECT-satser använder ODBC-funktioner:
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
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
D. Att använda en ODBC-funktion i en lagrad procedur
Följande exempel använder en ODBC-funktion i en lagrad procedur:
CREATE PROCEDURE dbo.ODBCprocedure
(
@string_exp NVARCHAR(4000)
)
AS
SELECT {fn BIT_LENGTH( @string_exp )};
E. Att använda en ODBC-funktion i en användardefinierad funktion
Följande exempel använder en ODBC-funktion i en användardefinierad funktion:
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. Att använda en ODBC funktioner i SELECT-satser
Följande SELECT-satser använder ODBC-funktioner:
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