کارکتر _ در دستورات مقایسه ای برای رشته (چه = و چه like) به معنای یک کاراکتر می باشد!
یعنی مهم نیست چه کاراکتری ولی به ازای هر _ دقیق یک کاراکتر باشد.
در حالی که % به معنای هر کاراکتر و به هر تعداد می باشد.
برای مثال اگر:
داده های زیر را داشته باشیم:
STR
--------------------------------
a
ab
abc
abcd
abcdef
در اینصورت:
SELECT *
FROM a where str like'a%';
STR
--------------------------------
a
ab
abc
abcd
abcdef
5 rows selected.
-------------------------------------------------------------------------------------------------------------------
SELECT *
FROM a where str like'a_';
STR
--------------------------------
ab
1 row selected.