Bagaimana cara saya keluar dari karakter garis bawah?
Saya menulis sesuatu seperti klausa tempat berikut dan ingin dapat menemukan entri aktual dengan _d di akhir.
Where Username Like '%_d'
sql-server
GateKiller
sumber
sumber
Jelas solusi @Lasse benar, tetapi ada cara lain untuk memecahkan masalah Anda: operator T-SQL
LIKE
mendefinisikan ESCAPE opsional klausa , yang memungkinkan Anda mendeklarasikan karakter yang akan keluar dari karakter berikutnya ke dalam pola.Untuk kasus Anda, klausa WHERE berikut ini setara:
sumber
ESCAPE
klausa adalah bagian dari standar SQL dan akan bekerja pada DBMS apa pun, bukan hanya SQL Server.Solusi ini sangat masuk akal. Sayangnya, tidak ada yang bekerja untuk saya seperti yang diharapkan. Alih-alih mencoba repot dengan itu, saya pergi dengan bekerja di sekitar:
sumber
Ini bekerja untuk saya, gunakan saja pelariannya
'%\_%'
sumber
Tak satu pun dari ini bekerja untuk saya di SSIS v18.0, jadi saya akan melakukan sesuatu seperti ini: ... Di
WHERE CHARINDEX('_', thingyoursearching) < 1
mana saya mencoba untuk mengabaikan string dengan garis bawah di dalamnya. Jika Anda ingin menemukan hal-hal yang memiliki garis bawah, balik saja:
WHERE CHARINDEX('_', thingyoursearching) > 0
sumber