% е заместващ знак (поне в Oracle), така че на теория и двата би трябвало да работят еднакво (ако приемем, че добавите липсващите единични кавички)
Първото обаче ще се счита за по-добра практика, тъй като може да позволи на оптимизатора на базата данни да не анализира повторно израза. Първият трябва също така да ви предпази от SQL инжектиране, докато вторият може да не.