sql >> Database teknologi >  >> RDS >> PostgreSQL

rails postgres FEJL:ugyldig inputsyntaks for type dobbelt præcision

I PostgreSQL, udtrykket extract(day from time_from) returnerer et tal af typen dobbelt, der repræsenterer dagen i måneden. lørdag er tydeligvis ikke en gyldig dobbelt.

Hvis du har brug for argumentet til where() for at matche strengen 'Saturday' (for at matche ugedagen), så brug to_char() funktion.

user_calendars.where("trim(to_char(time_from, 'Day')) = ? ", next_day)

Du skal bruge trim() , fordi denne form for kald til to_char() er polstret til 9 tegn.

Case er vigtig for argumentet 'Dag'. Hvis du indtaster det som 'dag', vil den returnerede værdi ikke matche 'lørdag'. I stedet et udtryk som to_char(time_from, 'day') vil returnere noget som 'lørdag'.




  1. Angiv klassesti for maven

  2. Sådan ignoreres en parameter i den lagrede procedure, hvis dens værdi er null

  3. Få tabelkolonnenavne i MySQL?

  4. Arkivering af store mængder gamle data i SQL Server