% je zástupný znak (alespoň v Oracle), takže teoreticky by oba měly fungovat stejně (za předpokladu, že přidáte chybějící jednoduché uvozovky)
První by však bylo považováno za lepší postup, protože může optimalizátoru databáze umožnit znovu neanalyzovat prohlášení. První by vás také měl chránit před SQL injection, zatímco druhý nikoli.