Rumah > pangkalan data > tutorial mysql > Adakah Operator `ANTARA` MS SQL Server Termasuk atau Eksklusif?

Adakah Operator `ANTARA` MS SQL Server Termasuk atau Eksklusif?

DDD
Lepaskan: 2024-12-27 21:41:14
asal
178 orang telah melayarinya

Is MS SQL Server's `BETWEEN` Operator Inclusive or Exclusive?

Pendapatan Julat Inklusif dengan Pengendali "ANTARA" MS SQL Server

Apabila menggunakan pengendali "ANTARA" MS SQL Server, adalah penting untuk memahami sama ada sempadan julat disertakan atau dikecualikan dalam kriteria pemilihan.

Untuk menjawab soalan khusus, pengendali "ANTARA" adalah inklusif. Ini bermakna, secara lalai, nilai yang ditentukan sebagai sempadan bawah dan atas disertakan dalam set hasil. Dalam contoh yang disediakan:

SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10
Salin selepas log masuk

Pertanyaan akan memilih semua baris dengan nilai lajur "foo" adalah antara (dan termasuk) 5 dan 10.

Walau bagaimanapun, tingkah laku inklusif ini boleh mengemukakan kaveat apabila bekerja dengan DateTimes. Secara lalai, apabila hanya tarikh ditentukan, SQL Server menganggapnya sebagai tengah malam pada hari itu. Ini bermakna jika anda ingin menangkap semua nilai dalam hari tertentu, anda mesti menolak 3 milisaat daripada tarikh tamat untuk mengelakkan kehilangan data dalam masa 3 milisaat sebelum tengah malam.

Contohnya, untuk mendapatkan semula semua nilai dalam Jun 2016, pertanyaan yang betul ialah:

where myDateTime between '20160601' and DATEADD(millisecond, -3, '20160701')
Salin selepas log masuk

Ini memastikan anda menangkap semua nilai dalam bulan Jun 2016, termasuk yang berada dalam 3 milisaat sebelum tengah malam pada 30 Jun.

Adalah penting untuk ambil perhatian bahawa, manakala bagi kebanyakan jenis data pengendali "ANTARA" adalah inklusif, terdapat pengecualian. Sebagai contoh, dengan jenis data "datetime2" dan "datetimeoffset", biasanya disyorkan untuk menggunakan ">=" dan "<" pengendali dan bukannya "ANTARA" untuk mengelakkan masalah pemangkasan julat yang berpotensi.

Atas ialah kandungan terperinci Adakah Operator `ANTARA` MS SQL Server Termasuk atau Eksklusif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan