Pertanyaan SQL: Cara melakukan string tidak sama


Saya memiliki pertanyaan berikut

SELECT * FROM table
WHERE tester <> 'username';

Saya mengharapkan ini untuk mengembalikan semua hasil di mana tester bukan string username, Tapi ini tidak berhasil. Saya pikir saya mencari kebalikan dari Like operator tetapi saya tidak yakin? Dalam pencarian saya, saya telah menemukan solusi untuk angka (di situlah saya mendapat <> dari), tetapi ini tampaknya tidak bekerja dengan string.


75
2018-05-01 18:56


asal


Jawaban:


Anda where klausa akan mengembalikan semua baris di mana tester tidak cocok username Dan dimana tester bukan nol.

Jika Anda ingin menyertakan NULL, coba:

where tester <> 'username' or tester is null

Jika Anda mencari string yang tidak mengandung kata "username" sebagai substring, lalu like dapat digunakan:

where tester not like '%username%'

119
2018-05-01 18:58



Coba kueri berikut

select * from table
where NOT (tester = 'username')

30
2018-05-01 18:58



Kondisi NULL-safe akan terlihat seperti:

select * from table
where NOT (tester <=> 'username')

13
2017-09-01 18:00



select * from table
where tester NOT LIKE '%username%';

7
2018-05-01 19:00



Itu strcomp fungsi mungkin sesuai di sini (mengembalikan 0 saat string identik):

 SELECT * from table WHERE Strcmp(user, testername) <> 0;

7
2018-06-18 04:37