Fungsi Skalar ODBC (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Anda dapat menggunakan Fungsi Skalar ODBC dalam pernyataan Transact-SQL. Pernyataan ini ditafsirkan oleh SQL Server. Mereka dapat digunakan dalam prosedur tersimpan dan fungsi yang ditentukan pengguna. Ini termasuk fungsi string, numerik, waktu, tanggal, interval, dan sistem.
Penggunaan
SELECT {fn <function_name> [ (<argument>,....n) ] }
Fungsi
Tabel berikut mencantumkan fungsi skalar ODBC yang tidak diduplikasi dalam Transact-SQL.
Fungsi string
Fungsi | Deskripsi |
---|---|
BIT_LENGTH( string_exp ) (ODBC 3.0) | Mengembalikan panjang dalam bit ekspresi string. Mengembalikan ukuran internal dari jenis data yang diberikan, tanpa mengonversi string_exp menjadi string. |
CONCAT( string_exp1,string_exp2) (ODBC 1.0) | Mengembalikan string karakter yang merupakan hasil dari menggabungkan string_exp2 ke string_exp1. String yang dihasilkan bergantung pada DBMS. Misalnya, jika kolom yang diwakili oleh string_exp1 berisi nilai NULL, DB2 akan mengembalikan NULL tetapi SQL Server akan mengembalikan string non-NULL. |
OCTET_LENGTH( string_exp ) (ODBC 3.0) | Mengembalikan panjang dalam byte ekspresi string. Hasilnya adalah bilangan bulat terkecil tidak kurang dari jumlah bit yang dibagi 8. Mengembalikan ukuran internal dari jenis data yang diberikan, tanpa mengonversi string_exp menjadi string. |
Fungsi Numerik
Fungsi | Deskripsi |
---|---|
TRUNCATE( numeric_exp, integer_exp) (ODBC 2.0) | Mengembalikan numeric_exp terpotong ke kanan posisi integer_exp dari titik desimal. Jika integer_exp negatif, numeric_exp dipotong ke |integer_exp| posisi di sebelah kiri titik desimal. |
Fungsi Waktu, Tanggal, dan Interval
Fungsi | Deskripsi |
---|---|
CURRENT_DATE( ) (ODBC 3.0) | Mengembalikan tanggal saat ini. |
CURDATE( ) (ODBC 3.0) | Mengembalikan tanggal saat ini. |
[( time-precision )] CURRENT_TIME (ODBC 3.0) |
Mengembalikan waktu lokal saat ini. Argumen presisi waktu menentukan presisi detik dari nilai yang dikembalikan |
CURTIME() (ODBC 3.0) | Mengembalikan waktu lokal saat ini. |
DAYNAME( date_exp ) (ODBC 2.0) | Mengembalikan string karakter yang berisi nama khusus sumber data hari itu untuk bagian hari date_exp. Misalnya, namanya adalah Minggu hingga Sabtu atau Matahari. melalui Sat. untuk sumber data yang menggunakan bahasa Inggris. Namanya Sonntag melalui Samstag untuk sumber data yang menggunakan bahasa Jerman. |
DAYOFMONTH( date_exp ) (ODBC 1.0) | Mengembalikan hari dalam sebulan, berdasarkan bidang bulan dalam date_exp, sebagai bilangan bulat. Nilai yang dikembalikan berada dalam rentang 1-31. |
DAYOFWEEK( date_exp ) (ODBC 1.0) | Mengembalikan hari dalam seminggu berdasarkan bidang minggu dalam date_exp sebagai bilangan bulat. Nilai yang dikembalikan berada dalam rentang 1-7, di mana 1 mewakili Hari Minggu. |
HOUR( time_exp ) (ODBC 1.0) | Mengembalikan jam, berdasarkan bidang jam dalam time_exp, sebagai nilai bilangan bulat dalam rentang 0-23. |
MINUTE( time_exp ) (ODBC 1.0) | Mengembalikan menit, berdasarkan bidang menit di time_exp, sebagai nilai bilangan bulat dalam rentang 0-59. |
SECOND( time_exp ) (ODBC 1.0) | Mengembalikan yang kedua, berdasarkan bidang kedua dalam time_exp, sebagai nilai bilangan bulat dalam rentang 0-59. |
MONTHNAME( date_exp ) (ODBC 2.0) | Mengembalikan string karakter yang berisi nama khusus sumber data bulan untuk bagian bulan date_exp. Misalnya, namanya adalah Januari hingga Desember atau Jan. hingga Des. untuk sumber data yang menggunakan bahasa Inggris. Namanya adalah Januari hingga Dezember untuk sumber data yang menggunakan bahasa Jerman. |
QUARTER( date_exp ) (ODBC 1.0) | Mengembalikan kuartal dalam date_exp sebagai nilai bilangan bulat dalam rentang 1-4, di mana 1 mewakili 1 Januari hingga 31 Maret. |
WEEK( date_exp ) (ODBC 1.0) | Mengembalikan minggu dalam setahun, berdasarkan bidang minggu dalam date_exp, sebagai nilai bilangan bulat dalam rentang 1-53. |
Contoh
J. Menggunakan fungsi ODBC dalam prosedur tersimpan
Contoh berikut menggunakan fungsi ODBC dalam prosedur tersimpan:
CREATE PROCEDURE dbo.ODBCprocedure
(
@string_exp NVARCHAR(4000)
)
AS
SELECT {fn OCTET_LENGTH( @string_exp )};
B. Menggunakan Fungsi ODBC dalam fungsi yang ditentukan pengguna
Contoh berikut menggunakan fungsi ODBC dalam fungsi yang ditentukan pengguna:
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
Catatan
Microsoft Fabric memang mendukung fungsi skalar ODBC, tetapi saat ini tidak mendukung fungsi yang ditentukan pengguna yang mengembalikan nilai, seperti yang ditunjukkan dalam Contoh B.
C. Menggunakan fungsi ODBC dalam pernyataan SELECT
Pernyataan SELECT berikut menggunakan fungsi 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
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
D. Menggunakan fungsi ODBC dalam prosedur tersimpan
Contoh berikut menggunakan fungsi ODBC dalam prosedur tersimpan:
CREATE PROCEDURE dbo.ODBCprocedure
(
@string_exp NVARCHAR(4000)
)
AS
SELECT {fn BIT_LENGTH( @string_exp )};
E. Menggunakan Fungsi ODBC dalam fungsi yang ditentukan pengguna
Contoh berikut menggunakan fungsi ODBC dalam fungsi yang ditentukan pengguna:
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. Menggunakan fungsi ODBC dalam pernyataan SELECT
Pernyataan SELECT berikut menggunakan fungsi 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
Lihat Juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk