Rumah > pangkalan data > tutorial mysql > Bagaimanakah Klausa WHERE SQL Server Mengendalikan Ruang Jejak dalam Perbandingan Rentetan?

Bagaimanakah Klausa WHERE SQL Server Mengendalikan Ruang Jejak dalam Perbandingan Rentetan?

Mary-Kate Olsen
Lepaskan: 2025-01-04 21:12:40
asal
242 orang telah melayarinya

How Does SQL Server's WHERE Clause Handle Trailing Spaces in String Comparisons?

SQL WHERE Klausa Memadankan Nilai dengan Ruang Jejak

Dalam SQL Server 2008, pertimbangkan jadual bernama Zone dengan lajur ZoneReference sebagai kunci utama. Melaksanakan pertanyaan SELECT '"' ZoneReference '"' AS QuotedZoneReference FROM Zone WHERE ZoneReference = 'WF11XU' secara tidak dijangka mengembalikan "WF11XU " dengan ruang belakang.

Ini timbul daripada pematuhan SQL Server kepada SQL- ANSI/ISO 92 spesifikasi, di mana rentetan empuk untuk perbandingan dan dianggap setara apabila panjang sepadan. Akibatnya, 'abc' dan 'abc ' dianggap sama.

Tingkah laku ini juga mempengaruhi predikat klausa WHERE, dengan ruang mengekor diabaikan. Walau bagaimanapun, pengecualian ialah predikat LIKE, yang membandingkan nilai tanpa pelapik apabila ruang mengekor hadir di sebelah kanan ungkapan.

Untuk menyekat ruang mengekor dalam perbandingan anda, pertimbangkan untuk menggunakan fungsi TRIM() dalam pertanyaan atau pernyataan manipulasi data anda.

Atas ialah kandungan terperinci Bagaimanakah Klausa WHERE SQL Server Mengendalikan Ruang Jejak dalam Perbandingan Rentetan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan