Em geral, cite todas as strings e números unquotes. Seu SQL irá, no entanto, quebrar se houver aspas simples na string, então escape da aspa simples dobrando-a.
SELECT * FROM superuser WHERE poop = 'johnny''s'
-- note how the string [johnny's] have double quotes
Por outro lado, citando números no SQL é ruim. Embora o SQL tente implicitamente converter esses valores, isso pode levar a resultados indesejados. Digamos que você tenha um tipo CHAR e forneça um 1
sem aspas, em vez de uma citação '1'
, você obterá o caractere na primeira posição do conjunto de caracteres em vez de um caractere '1' real.