Ada 3 macam Function pada SQL Server, diantaranya :
1. Rowset Function
Fungsi ini mengembalikan sebuah objek yang dapat digunakan seperti tabel referensi dalam sebuah pernyataan SQL. Fungsi dimana tidak menghasilkan hasil yang sama ketika fungsi tersebut dijalankan, walaupun dengan database/input yang sama termasuk nondeterministic functions.
Rowset Function terdiri dari :
a. CONTAINSTABLE
Mengembalikan tabel nol, satu, atau baris lebih bagi mereka yang berisi kolom tipe data berbasis karakter untuk tepat atau fuzzy (kurang tepat) cocok untuk kata tunggal dan frasa, kedekatan kata-kata dalam jarak tertentu dari satu sama lain, atau tertimbang cocok. CONTAINSTABLE dapat dijadikan referensi dalam klausa FROM pernyataan SELECT seolah-olah itu adalah nama tabel biasa.
Pertanyaan menggunakan CONTAINSTABLE tentukan berisi-jenis teks lengkap query yang mengembalikan nilai relevansi peringkat (RANK) untuk masing-masing baris. Fungsi CONTAINSTABLE menggunakan kondisi pencarian sama dengan BERISI predikat.
Syntax
CONTAINSTABLE ( tabel , { kolom | * } , ' <contains_search_condition> '
[ , top_n_by_rank ] )
<Contains_search_condition>:: =
{<Simple_term>
| <Prefix_term>
| <Generation_term>
| <Proximity_term>
| <Weighted_term>
}
| { ( <contains_search_condition> )
{DAN | DAN TIDAK | OR} <contains_search_condition> [... n ]
}
{<Simple_term>
| <Prefix_term>
| <Generation_term>
| <Proximity_term>
| <Weighted_term>
}
| { ( <contains_search_condition> )
{DAN | DAN TIDAK | OR} <contains_search_condition> [... n ]
}
<Simple_term>:: =
kata | " frasa "
kata | " frasa "
<Awalan jangka>:: =
{ " kata * " | " frasa * " }
{ " kata * " | " frasa * " }
<Generation_term>:: =
FORMSOF ( inflektif , <simple_term> [ , ... n ] )
FORMSOF ( inflektif , <simple_term> [ , ... n ] )
<Proximity_term>:: =
{<Simple_term> | <prefix_term>}
{{NEAR | ~} {<simple_term> | <prefix_term>}} [... n ]
{<Simple_term> | <prefix_term>}
{{NEAR | ~} {<simple_term> | <prefix_term>}} [... n ]
<Weighted_term>:: =
ISABOUT
( { {
<Simple_term>
| <Prefix_term>
| <Generation_term>
| <Proximity_term>
}
[BERAT ( weight_value ) ]
} [ , ... n ]
)
ISABOUT
( { {
<Simple_term>
| <Prefix_term>
| <Generation_term>
| <Proximity_term>
}
[BERAT ( weight_value ) ]
} [ , ... n ]
)
Argumen
tabel
Adalah nama tabel yang telah ditandai untuk-teks query penuh. tabel dapat menjadi satu, dua, atau tiga-bagian nama database objek. tabel tidak dapat menentukan nama server dan tidak dapat digunakan dalam query terhadap server terkait.
kolom
Adalah nama kolom untuk mencari, yang berada dalam tabel . Kolom karakter tipe data string valid teks lengkap kolom pencarian.
*
Menetapkan bahwa semua kolom dalam tabel yang telah terdaftar untuk pencarian teks lengkap harus digunakan untuk mencari yang diberikan berisi kondisi pencarian (s).
top_n_by_rank
Menentukan bahwa hanya n peringkat tertinggi pertandingan, dalam urutan, dikembalikan. Berlaku hanya jika nilai integer, n , ditentukan.
<contains_search_condition>
Menetapkan beberapa teks untuk mencari dalam kolom.
Keterangan
Tabel kembali memiliki kolom bernama KEY yang berisi-teks kunci nilai-nilai penuh. Setiap teks lengkap diindeks tabel memiliki kolom yang nilai-nilai yang dijamin untuk menjadi unik, dan nilai-nilai kembali di KUNCI kolom adalah kunci teks penuh nilai-baris yang sesuai dengan kriteria seleksi yang ditentukan dalam berisi kondisi pencarian. The TableFulltextKeyColumn properti, diperoleh dari fungsi OBJECTPROPERTY, memberikan identitas untuk kolom ini kunci unik. Untuk mendapatkan baris yang Anda inginkan dari tabel asli, tentukan bergabung dengan baris CONTAINSTABLE. Bentuk khas klausa FROM untuk pernyataan SELECT menggunakan CONTAINSTABLE adalah:
Select_list SELECT FROM tabel SEBAGAI FT_TBL INNER JOIN CONTAINSTABLE (tabel, kolom, contains_search_condition) SEBAGAI KEY_TBL PADA FT_TBL.unique_key_column = KEY_TBL [KUNCI].
Tabel yang dihasilkan oleh CONTAINSTABLE mencakup kolom bernama RANK . The RANK kolom adalah nilai (dari 0 sampai 1000) untuk setiap baris yang menunjukkan seberapa baik baris cocok dengan kriteria seleksi. Nilai peringkat biasanya digunakan dalam salah satu cara dalam statemen SELECT:
· Dalam klausa ORDER BY untuk mengembalikan baris peringkat tertinggi sebagai baris pertama dalam tabel.
· Dalam daftar pilih untuk melihat nilai peringkat ditetapkan ke setiap baris.
· Dalam klausa WHERE untuk menyaring baris dengan nilai peringkat rendah.
CONTAINSTABLE tidak diakui sebagai kata kunci jika tingkat kompatibilitas kurang dari 70.
Permissions
Izin Jalankan tersedia hanya oleh pengguna dengan hak SELECT yang sesuai pada tabel atau kolom tabel referensi itu.
Contoh
Pencarian Contoh ini untuk semua nama produk yang mengandung kata roti, ikan, atau bir, dan pembobotan yang berbeda diberikan untuk setiap kata. Untuk setiap baris kembali sesuai dengan kriteria pencarian ini, kedekatan relatif (nilai peringkat) pertandingan ditampilkan. Selain itu, baris peringkat tertinggi dikembalikan terlebih dahulu.
USE Northwind GO SELECT FT_TBL.CategoryName, FT_TBL.Description, KEY_TBL.RANK DARI Kategori SEBAGAI FT_TBL INNER JOIN CONTAINSTABLE (Kategori, Keterangan, 'ISABOUT (berat roti (.8), berat ikan (0,4), bir berat (0,2) ) ') SEBAGAI KEY_TBL PADA FT_TBL.CategoryID = KEY_TBL. ORDER [KUNCI] OLEH KEY_TBL.RANK DESC GO
b. FREETEXTTABLE
Mengembalikan tabel nol, satu, atau baris lebih bagi mereka yang berisi kolom data berbasis jenis karakter untuk nilai-nilai yang cocok dengan makna, tetapi bukan kata-kata yang tepat, teks dalam yang ditentukan freetext_string . FREETEXTTABLE dapat dijadikan referensi dalam klausa FROM dari statemen SELECT seperti nama tabel biasa.
Pertanyaan menggunakan FREETEXTTABLE tentukan freetext-jenis query penuh teks yang mengembalikan nilai relevansi peringkat (RANK) untuk masing-masing baris.
Syntax
FREETEXTTABLE ( tabel , { kolom | * } , ' freetext_string ' [ , top_n_by_rank ] )
Argumen
tabel
Adalah nama tabel yang telah ditandai untuk-teks query penuh. tabel dapat menjadi satu, dua, atau tiga-bagian nama database objek. tabel tidak dapat menentukan nama server dan tidak dapat digunakan dalam query terhadap server terkait.
kolom
Adalah nama kolom untuk pencarian yang berada di dalam tabel . Kolom karakter tipe data string kolom berlaku untuk pencarian teks lengkap.
*
Menetapkan bahwa semua kolom yang telah terdaftar untuk pencarian teks lengkap harus digunakan untuk mencari yang diberikan freetext_string .
freetext_string
Apakah teks untuk mencari yang ditentukan dalam kolom .
top_n_by_rank
Ketika sebuah nilai integer, n , ditentukan, kembali FREETEXTTABLE hanya bagian atas n cocok, diperintahkan oleh peringkat.
Keterangan
FREETEXTTABLE menggunakan kondisi pencarian yang sama dengan predikat FREETEXT. Seperti CONTAINSTABLE, meja kembali memiliki kolom bernama KUNCI dan RANK , yang direferensikan dalam query untuk mendapatkan baris yang sesuai dan menggunakan nilai-nilai peringkat baris. FREETEXTTABLE tidak diakui sebagai kata kunci jika tingkat kompatibilitas kurang dari 70.
Permissions
FREETEXTTABLE dapat dipanggil hanya oleh pengguna yang memiliki hak SELECT yang tepat untuk tabel tertentu atau direferensikan kolom tabel.
Contoh
Contoh ini mengembalikan nama kategori dan deskripsi dari semua kategori yang berhubungan dengan manis, permen, roti, kering, dan daging.
USE Northwind SELECT FT_TBL.CategoryName, FT_TBL.Description, KEY_TBL.RANK DARI Kategori SEBAGAI FT_TBL INNER JOIN FREETEXTTABLE (Kategori, Keterangan, 'manis permen roti dan daging kering') SEBAGAI KEY_TBL PADA FT_TBL.CategoryID = KEY_TBL. [KUNCI] GO
c. OPENDATASOURCE
Untuk membuat koneksi datasource tanpa menggunakan nama linked server yang terhubung.
Syntax
OPENDATASOURCE ( provider_name , init_string )
Argumen
provider_name
Apakah nama terdaftar sebagai PROGID penyedia OLE DB digunakan untuk mengakses sumber data. provider_name adalah char tipe data, dengan tidak ada nilai default.
init_string
Apakah connection string dikirimkan ke IDataInitialize antarmuka dari penyedia tujuan. Sintaks string penyedia didasarkan pada nilai-pasangan kata kunci dipisahkan dengan titik koma, yaitu, "keyword1 value =; KEYWORD2 = nilai."
Sintaks dasar didefinisikan dalam Microsoft ® Data Access SDK. Lihat dokumentasi pada operator untuk pasangan kata kunci-nilai tertentu yang didukung. Tabel ini berisi daftar kata kunci yang paling umum digunakan dalam init_string argumen.
Keterangan
OPENDATASOURCE dapat digunakan untuk mengakses data jauh dari sumber data OLE DB hanya jika DisallowAdhocAccess opsi registry secara eksplisit diatur ke 0. Jika pilihan ini tidak diset, perilaku default tidak memungkinkan iklan akses hoc.
Fungsi OPENDATASOURCE dapat digunakan di lokasi sintaks Transact-SQL yang sama seperti nama server yang terhubung. Dengan demikian, OPENDATASOURCE dapat digunakan sebagai bagian pertama dari nama empat bagian yang mengacu ke meja atau nama tampilan dalam sebuah pernyataan SELECT, INSERT, UPDATE, atau DELETE, atau prosedur yang tersimpan jauh dalam sebuah pernyataan EXECUTE. Ketika melaksanakan prosedur yang tersimpan jauh, OPENDATASOURCE harus merujuk ke SQL Server. OPENDATASOURCE tidak menerima variabel untuk argumennya.
Seperti fungsi OPENROWSET, OPENDATASOURCE seharusnya hanya referensi OLE DB sumber data yang diakses jarang. Tentukan sebuah server yang terhubung untuk setiap sumber data yang diakses lebih dari beberapa kali. Baik OPENDATASOURCE, maupun OPENROWSET menyediakan semua fungsi definisi server yang terhubung, seperti manajemen keamanan dan kemampuan untuk informasi katalog query. Semua informasi koneksi, termasuk password, harus disediakan setiap kali OPENDATASOURCE disebut.
Contoh
Contoh ini mengakses data dari tabel pada contoh lain dari SQL Server.
SELECT * FROM OPENDATASOURCE ('SQLOLEDB', 'Data Source = ServerName; User ID = MyUID; Password = MyPass'
) Northwind.dbo.Categories.
d. OPENQUERY
Mengeksekusi ditentukan pass-through query pada server yang terhubung diberikan, yang merupakan OLE DB data source. Fungsi OPENQUERY dapat dijadikan referensi dalam klausa FROM dari query seolah-olah itu adalah nama tabel. Fungsi OPENQUERY juga dapat direferensikan sebagai tabel target pernyataan INSERT, UPDATE, atau DELETE, tergantung kemampuan penyedia OLE DB. Meskipun query dapat kembali set beberapa hasil, OPENQUERY kembali hanya yang pertama.
Syntax
OPENQUERY ( linked_server , ' query ')
Argumen
linked_server
Apakah identifier mewakili nama server yang terhubung.
' query '
Apakah string query dijalankan di server yang terhubung.
Keterangan
OPENQUERY tidak menerima variabel untuk argumennya.
e. OPENROWSET
Termasuk semua informasi koneksi yang diperlukan untuk mengakses data jauh dari sumber OLE DB data. Metode ini adalah sebuah alternatif untuk mengakses tabel dalam sebuah server yang terhubung dan merupakan satu kali, ad hoc metode yang menghubungkan dan mengakses data jarak jauh dengan menggunakan OLE DB. Fungsi OPENROWSET dapat dijadikan referensi dalam klausa FROM dari query seolah-olah itu adalah nama tabel. Fungsi OPENROWSET juga dapat direferensikan sebagai tabel target pernyataan INSERT, UPDATE, atau DELETE, tergantung kemampuan penyedia OLE DB. Meskipun query dapat kembali set beberapa hasil, OPENROWSET kembali hanya yang pertama.
Syntax
OPENROWSET (' provider_name '
, { ' sumber data ';' user_id ',' password '
| ' provider_string ' }
, {[ katalog . ] [ schema . ] objek
| ' query ' }
)
Argumen
' provider_name '
Adalah string karakter yang mewakili nama ramah penyedia OLE DB sebagaimana ditentukan dalam registri. provider_name tidak memiliki nilai default.
' sumber data '
Adalah string konstanta yang sesuai dengan sumber data OLE DB tertentu. sumber data adalah properti DBPROP_INIT_DATASOURCE untuk diteruskan ke penyediaIDBProperties antarmuka untuk menginisialisasi penyedia. Biasanya, string ini termasuk nama file database, nama server database, atau nama yang penyedia memahami untuk mencari database (s).
' user_id '
Adalah string konstanta yang adalah username diteruskan ke penyedia OLE DB ditentukan. user_id menentukan konteks keamanan untuk koneksi dan lulus sebagai properti DBPROP_AUTH_USERID untuk menginisialisasi penyedia. user_id tidak dapat menjadi Microsoft Windows NT ® nama login.
' password '
Adalah string konstanta yang adalah password pengguna untuk diteruskan kepada penyedia OLE DB. password dilewatkan sebagai milik DBPROP_AUTH_PASSWORD ketika menginisialisasi penyedia. password tidak dapat menjadi Microsoft Windows NT ® sandi.
' provider_string '
Apakah koneksi string spesifik-operator yang dilewatkan sebagai properti DBPROP_INIT_PROVIDERSTRING untuk menginisialisasi OLE DB provider. provider_stringbiasanya merangkum semua informasi koneksi yang diperlukan untuk menginisialisasi penyedia.
katalog
Apakah nama katalog atau database di mana objek tertentu berada.
skema
Apakah nama skema atau pemilik objek untuk objek tertentu.
objek
Adalah nama obyek yang secara unik mengidentifikasi objek untuk memanipulasi.
' query '
Adalah string konstan dikirim ke dan dieksekusi oleh penyedia. Microsoft ® SQL Server ™ tidak proses query ini, tetapi proses hasil query yang dikembalikan oleh provider (a-melewati query). Pass-through query yang berguna bila digunakan pada provider yang tidak mengekspos data tabular mereka melalui nama tabel, tetapi hanya melalui bahasa perintah. Pass-through query didukung di server jauh, selama penyedia query mendukung OLE DB Komando objek dan antarmuka wajib.
Keterangan
OPENROWSET dapat digunakan untuk mengakses data jauh dari sumber data OLE DB hanya jika DisallowAdhocAccess opsi registry secara eksplisit diatur ke 0.Jika pilihan ini tidak diset, perilaku default tidak memungkinkan iklan akses hoc.
Katalog dan skema namanya diperlukan jika penyedia OLE DB mendukung beberapa katalog dan skema dalam sumber data tertentu. Nilai untuk catalog dan skema dapat dihilangkan jika provider OLE DB tidak mendukung mereka.
Jika provider mendukung skema hanya nama, sebuah nama bagian dua bentuk skema . obyek harus ditentukan. Jika provider mendukung nama katalog saja, sebuah bagian nama tiga bentuk katalog . skema . obyek harus ditentukan. OPENROWSET tidak menerima variabel untuk argumennya.
Permissions
izin OPENROWSET ditentukan oleh hak akses dari nama pengguna yang dioper ke penyedia OLE DB.
Contoh
Contoh ini menggunakan Microsoft OLE DB Provider for SQL Server untuk mengakses penulis meja di pub database di server jauh bernama seattle1 . Penyedia diinisialisasi dari sumber data , user_id , dan password , dan PILIH yang digunakan untuk mendefinisikan baris set kembali.
pub USE GO SELECT a. * FROM OPENROWSET ('SQLOLEDB', 'seattle1'; 'manajer'; 'MyPass', 'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') SEBAGAI GO
f. OPENXML
OPENXML memberikan pandangan rowset melalui dokumen XML. Karena OPENXML adalah penyedia rowset, OPENXML dapat digunakan dalam laporan Transact-SQL di mana penyedia rowset seperti tampilan, tabel, atau fungsi OPENROWSET dapat muncul.
Syntax
OPENXML ( idoc int [ di ], rowpattern nvarchar [ di ], [ flags byte [ dalam ]] )
[DENGAN ( SchemaDeclaration | tableName )]
Argumen
idoc
Apakah dokumen pegangan representasi internal dari sebuah dokumen XML. Representasi internal dari suatu dokumen XML yang dibuat dengan memanggilsp_xml_preparedocument .
rowpattern
Apakah pola XPath digunakan untuk mengidentifikasi node (dalam dokumen XML yang menangani dilewatkan dalam idoc parameter) untuk diolah sebagai baris.
flags
Menunjukkan pemetaan yang harus digunakan antara data XML dan rowset relasional, dan bagaimana spill-over kolom harus diisi. bendera adalah parameter masukan opsional, dan bisa salah satu dari nilai-nilai ini.
SchemaDeclaration
Apakah definisi skema dalam bentuk :
ColName ColType [ ColPattern | MetaProperty ] [, ColName ColType [ ColPattern | MetaProperty ]...]
ColName
Adalah nama kolom di rowset ini.
ColType
Apakah SQL tipe data kolom di rowset ini. Jika kolom jenis berbeda dari tipe data XML yang mendasari atribut, tipe pemaksaan terjadi. Jika kolom adalah tipe timestamp , nilai kini dalam dokumen XML diabaikan ketika memilih dari rowset OPENXML, dan nilai-nilai autofill dikembalikan.
ColPattern
Apakah XPath, pola umum opsional yang menggambarkan bagaimana node XML harus dipetakan ke dalam kolom. Jika ColPattern tidak ditentukan, pemetaan default (-sentris atau elemen-sentris pemetaan atribut sebagaimana ditentukan oleh flag ) berlangsung.
Pola XPath ditetapkan sebagai ColPattern digunakan untuk menentukan sifat khusus dari pemetaan (dalam kasus-sentris dan elemen-sentris pemetaan atribut) yang menimpa atau meningkatkan pemetaan default ditandai dengan flag .
Pola XPath umum ditetapkan sebagai ColPattern juga mendukung metaproperties.
MetaProperty
Adalah salah satu metaproperties disediakan oleh OPENXML. Jika metaproperty tersebut dituliskan, kolom ini berisi informasi yang diberikan oleh metaproperty tersebut. The metaproperties memungkinkan Anda untuk mengekstrak informasi (seperti posisi relatif,, informasi namespace) tentang node XML, yang memberikan informasi lebih dari yang terlihat dalam representasi tekstual.
TableName
Adalah nama tabel yang dapat diberikan (bukan SchemaDeclaration ) jika tabel dengan skema yang diinginkan sudah ada dan tidak ada pola kolom yang diperlukan.
2. Aggregate Function
Beroperasi pada kumpulan nilai-nilai tetapi kembali meringkas, nilai tunggal. Merupakan fungsi dengan mengumpulkan/input dari beberapa data dengan output hanya satu/single data.
Aggregate Function melakukan perhitungan pada seperangkat nilai dan mengembalikan nilai tunggal. Dengan pengecualian COUNT, fungsi agregat mengabaikan nilai-nilai null. fungsi Agregat sering digunakan dengan klausa GROUP BY dari statemen SELECT.
Semua fungsi agregat adalah deterministik, mereka mengembalikan nilai yang sama kapan saja mereka disebut dengan satu set nilai-nilai input.
Aggregate Function diperbolehkan sebagai ekspresi hanya di :
· Daftar pilih dari statemen SELECT (baik subquery atau query luar).
· Sebuah menghitung atau Hitung klausa BY.
· Sebuah klausa HAVING.
Aggregate Function terdiri dari :
a. BINARY_CHECKSUM
Mengembalikan nilai biner checksum dihitung atas baris tabel atau lebih dari daftar ekspresi. BINARY_CHECKSUM dapat digunakan untuk mendeteksi perubahan deretan meja.
Syntax
BINARY_CHECKSUM ( * | expression[ , ... n ] )
Argumen
*
Menetapkan bahwa perhitungan selesai semua kolom dari tabel. BINARY_CHECKSUM mengabaikan kolom tipe data noncomparable dalam komputasi.Noncomparable data tipe teks , ntext , gambar , dan kursor , serta sql_variant dengan salah satu jenis di atas sebagai jenis dasarnya.
expression
Adalah ekspresi dari jenis apa pun. BINARY_CHECKSUM mengabaikan ekspresi dari tipe data noncomparable dalam komputasi.
b. CHECKSUM
Menampilkan nilai checksum yang dihitung atas baris tabel, atau lebih dari daftar ekspresi. Checksum dimaksudkan untuk digunakan dalam membangun indeks hash.
Syntax
Checksum ( * | expression[, ... n ] )
Argumen
*
Menetapkan bahwa perhitungan selesai semua kolom dari tabel. Checksum kembali kesalahan jika kolom ada adalah jenis data noncomparable. Noncomparable data tipe teks, ntext, gambar, dan kursor, serta sql_variant dengan salah satu jenis di atas sebagai jenis dasarnya.
expression
Adalah sebuah ekspresi dari semua jenis tipe data kecuali noncomparable.
c. CHECKSUM_AGG
Mengembalikan checksum dari nilai-nilai dalam kelompok. nilai Null diabaikan.
Syntax
CHECKSUM_AGG ( [ALL | DISTINCT] expression)
Argumen
ALL
Menerapkan fungsi agregat untuk semua nilai. SEMUA adalah default.
DISTINCT
Menetapkan bahwa CHECKSUM_AGG mengembalikan nilai checksum yang unik.
expression
Apakah kolom, konstanta, atau fungsi, dan berbagai kombinasi dari aritmatika, bitwise, dan operator string. ekspresi adalah sebuah ekspresi dari int tipe data. Fungsi Agregat dan subqueries tidak diperbolehkan.
d. COUNT
Mengembalikan jumlah item dalam kelompok.
Syntax
COUNT ( {[ALL | DISTINCT] expression] | * } )
Argumen
ALL
Menerapkan fungsi agregat untuk semua nilai. SEMUA adalah default.
DISTINCT
Menetapkan bahwa COUNT mengembalikan jumlah nilai nonnull unik.
expression
Adalah ekspresi dari setiap tipe kecuali uniqueidentifier , teks , gambar , atau ntext . fungsi Agregat dan subqueries tidak diizinkan.
*
Menetapkan bahwa semua baris harus dihitung untuk mengembalikan jumlah baris dalam sebuah tabel. COUNT ( * ) tidak mengambil parameter dan tidak dapat digunakan dengan DISTINCT. COUNT ( * ) tidak memerlukan ekspresi parameter karena, menurut definisi, tidak menggunakan informasi tentang setiap kolom tertentu. COUNT ( * ) mengembalikan jumlah baris dalam sebuah tabel tertentu tanpa menghilangkan duplikasi. Ini jumlah setiap baris terpisah, termasuk baris yang mengandung nilai-nilai null.
Penting agregat Berbeda, misalnya AVG (DISTINCT nama_kolom ), COUNT (DISTINCT nama_kolom ), MAX (DISTINCT nama_kolom ), MIN (DISTINCT nama_kolom ), dan SUM (DISTINCT nama_kolom ), tidak didukung saat menggunakan CUBE atau Rollup. Jika digunakan, Microsoft ® SQL Server ™ mengembalikan pesan kesalahan dan membatalkan permintaan tersebut.
e. COUNT_BIG
Mengembalikan jumlah item dalam kelompok. COUNT_BIG bekerja seperti fungsi COUNT. Satu-satunya perbedaan antara mereka adalah nilai-nilai mereka kembali: COUNT_BIG selalu mengembalikan bigint jenis nilai data. COUNT selalu mengembalikan sebuah int nilai tipe data.
Syntax
COUNT_BIG ( {[ALL | DISTINCT] expression} | * )
Argumen
ALL
Menerapkan fungsi agregat untuk semua nilai. SEMUA adalah default.
DISTINCT
Menetapkan bahwa COUNT_BIG mengembalikan jumlah nilai nonnull unik.
expression
Adalah ekspresi dari setiap tipe kecuali uniqueidentifier , teks , gambar , atau ntext . fungsi Agregat dan subqueries tidak diizinkan.
*
Menetapkan bahwa semua baris harus dihitung untuk mengembalikan jumlah baris dalam sebuah tabel. COUNT_BIG ( * ) tidak mengambil parameter dan tidak dapat digunakan dengan DISTINCT. COUNT_BIG ( * ) tidak memerlukan ekspresi parameter karena, menurut definisi, tidak menggunakan informasi tentang setiap kolom tertentu. COUNT_BIG ( * ) mengembalikan jumlah baris dalam sebuah tabel tertentu tanpa menghilangkan duplikasi. Ini jumlah setiap baris terpisah, termasuk baris yang mengandung nilai-nilai null.
f. GROUPING
Merupakan fungsi agregat yang menyebabkan kolom tambahan untuk menjadi output dengan nilai 1 saat baris ditambah dengan baik BATU atau operator Rollup, atau 0 jika baris tidak hasil CUBE atau Rollup.
Pengelompokan hanya diperbolehkan dalam daftar pilih yang terkait dengan klausa GROUP BY yang berisi baik BATU atau operator Rollup.
Syntax
GROUPING ( column_name )
Argumen
column_name
Adalah kolom dalam klausa GROUP BY untuk memeriksa BATU atau nilai-nilai null Rollup.
g. AVG
Adalah Mengembalikan rata-rata nilai dalam kelompok. nilai Null diabaikan.
Syntax
AVG ([ALL|DISTINCT] expression)
Argumen
ALL
Menerapkan fungsi agregat untuk semua nilai. SEMUA adalah default.
DISTINCT
Menentukan bahwa AVG dilakukan hanya pada setiap contoh unik dari nilai, terlepas dari berapa kali nilai terjadi.
expression
Apakah ekspresi numerik numerik atau perkiraan kategori tipe data yang tepat, kecuali untuk bit tipe data. fungsi Agregat dan subqueries tidak diizinkan.
h. MAX
Menampilkan nilai maksimum dalam ekspresi.
Syntax
MAX ( [ ALL | DISTINCT ] expression )
Argumen
ALL
Menerapkan fungsi agregat untuk semua nilai. SEMUA adalah default.
DISTINCT
Menetapkan bahwa setiap nilai unik dipertimbangkan. DISTINCT tidak berarti dengan MAX dan tersedia untuk SQL-92 kompatibilitas saja.
expression
Apakah kolom, nama konstanta, atau fungsi, dan berbagai kombinasi dari aritmatika, bitwise, dan operator string. MAX dapat digunakan dengan numerik, karakter, dan datetime kolom, tapi tidak dengan sedikit kolom. fungsi Agregat dan subqueries tidak diizinkan.
i. MIN
Menampilkan nilai minimum dalam ekspresi.
Syntax
MIN ( [ ALL | DISTINCT ] expression )
Argumen
ALL
Menerapkan fungsi agregat untuk semua nilai. SEMUA adalah default.
DISTINCT
Menetapkan bahwa setiap nilai unik dipertimbangkan. DISTINCT tidak berarti dengan MIN dan tersedia untuk SQL-92 kompatibilitas saja.
expression
Apakah kolom, nama konstanta, atau fungsi, dan berbagai kombinasi dari aritmatika, bitwise, dan operator string. MIN dapat digunakan dengan numerik, karakter, dan datetime kolom, tapi tidak dengan sedikit kolom. fungsi Agregat dan subqueries tidak diizinkan.
j. SUM
Mengembalikan jumlah dari semua nilai, atau hanya nilai DISTINCT, dalam ungkapan. SUM dapat digunakan dengan kolom numerik saja. nilai Null diabaikan.
Syntax
SUM ( [ ALL | DISTINCT ] expression )
Argumen
ALL
Menerapkan fungsi agregat untuk semua nilai. SEMUA adalah default.
DISTINCT
Menetapkan bahwa SUM mengembalikan jumlah nilai unik.
expression
Apakah kolom, konstanta, atau fungsi, dan berbagai kombinasi dari aritmatika, bitwise, dan operator string. ekspresi adalah sebuah ekspresi dari numerik numerik atau perkiraan kategori tipe data yang tepat, kecuali untuk bit tipe data. fungsi Agregat dan subqueries tidak diizinkan.
k. STDEV
Mengembalikan jumlah dari semua nilai, atau hanya nilai DISTINCT, dalam ungkapan. SUM dapat digunakan dengan kolom numerik saja. nilai Null diabaikan.
Syntax
STDV ( expression )
Argumen
expression
Adalah ekspresi numerik. fungsi Agregat dan subqueries tidak diizinkan. ekspresi adalah sebuah ekspresi dari numerik numerik atau perkiraan kategori tipe data yang tepat, kecuali untuk bit tipe data.
l. STDEVP
Mengembalikan standar deviasi statistik bagi penduduk untuk semua nilai dalam ekspresi yang diberikan.
Syntax
STDV ( expression )
Argumen
expression
Adalah ekspresi numerik. fungsi Agregat dan subqueries tidak diizinkan. ekspresi adalah sebuah ekspresi dari numerik numerik atau perkiraan kategori tipe data yang tepat, kecuali untuk bit tipe data.
m. VAR
Mengembalikan varians statistik dari semua nilai dalam ekspresi yang diberikan.
Syntax
VAR( expression )
Argumen
expression
Apakah ekspresi numerik numerik atau perkiraan kategori tipe data yang tepat, kecuali untuk bit tipe data. fungsi Agregat dan subqueries tidak diizinkan.
n. VARP
Mengembalikan varians statistik untuk populasi untuk semua nilai dalam ekspresi yang diberikan.
Syntax
VARP( expression )
Argumen
expression
Apakah ekspresi numerik numerik atau perkiraan kategori tipe data yang tepat, kecuali untuk bit tipe data. fungsi Agregat dan subqueries tidak diizinkan.
3. Scalar Function
Beroperasi pada nilai tunggal dan kemudian mengembalikan nilai tunggal. Fungsi skalar dapat digunakan dimanapun ekspresi adalah valid. Merupakan fungsi dengan mengumpulkan/input dari satu/single data dengan output hanya satu/single data.
Kategori fungsi scalar antara lain sebagai berikut :
Wynn Las Vegas Casino & Resort - Mapyro
BalasHapusGet directions, reviews and information for Wynn Las Vegas 경산 출장안마 in Las Vegas, NV. $500 Fine Dining & 서울특별 출장안마 Fine Dining 의정부 출장안마 at the 전주 출장마사지 Encore At Wynn 영천 출장샵 Las Vegas,