В чем разница (если таковая имеется) между % и _ в этих двух операторах SQL?

#sql #filter #sql-like

Вопрос:

В чем разница между этими двумя инструкциями SQL?

Первый:

 SELECT name  FROM customers  WHERE name LIKE 'a_%_%';   

Второй:

 SELECT name  FROM customers  WHERE name LIKE 'a__';   

Оба они находят любое имя, которое начинается с «а» и имеет длину не менее 3 символов — но в чем разница?

Комментарии:

1. Второй будет точно соответствовать трехсимвольной строке, которая начинается с «a». Первый будет соответствовать строкам, начинающимся с «a», с 3 символами.

2. ага, так что ПО КРАЙНЕЙ МЕРЕ 3 персонажа, спасибо

3. Обратите внимание, что первый из них может быть эквивалентно (и более четко) написан как 'a__%' .