Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Nilai pencocokan klausa SQL WHERE dengan spasi tambahan

Itulah hasil yang diharapkan:di SQL Server = operator mengabaikan spasi tambahan saat membuat perbandingan.

SQL Server mengikuti spesifikasi ANSI/ISO SQL-92 (Bagian 8.2, , Aturan umum #3) tentang cara membandingkan string dengan spasi. Standar ANSI membutuhkan padding untuk string karakter yang digunakan dalam perbandingan sehingga panjangnya cocok sebelum membandingkannya. Padding secara langsung mempengaruhi semantik predikat klausa WHERE dan HAVING dan perbandingan string Transact-SQL lainnya. Misalnya, Transact-SQL menganggap string 'abc' dan 'abc ' setara untuk sebagian besar operasi perbandingan.

Satu-satunya pengecualian untuk aturan ini adalah predikat LIKE. Ketika sisi kanan ekspresi predikat LIKE menampilkan nilai dengan spasi tambahan, SQL Server tidak memasukkan dua nilai dengan panjang yang sama sebelum perbandingan terjadi. Karena tujuan predikat LIKE, menurut definisi, adalah untuk memfasilitasi pencarian pola daripada tes persamaan string sederhana, ini tidak melanggar bagian spesifikasi ANSI SQL-92 yang disebutkan sebelumnya.

Sumber



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat server tertaut untuk SQL Server 2008 di mana kami memiliki database dari tahun 2000 dan 2005

  2. Pagination di SQL Server menggunakan OFFSET/FETCH

  3. Studi Kasus Peningkatan Perangkat Keras Server Database SQL Server

  4. Perintah SUBSTRING dalam SQL:A Primer

  5. Pengembangan Mesin Virtual Azure untuk Penggunaan SQL Server