2017-04-19 2 views

Répondre

1

Je pense ici est une raison pour laquelle cela ne provoque une erreur:

to_timestamp and to_date exist to handle input formats that cannot be converted by simple casting. These functions interpret input liberally, with minimal error checking. While they produce valid output, the conversion can yield unexpected results. For example, input to these functions is not restricted by normal ranges, thus to_date('20096040','YYYYMMDD') returns 2014-01-17 rather than causing an error. Casting does not have this behavior.

https://www.postgresql.org/docs/9.6/static/functions-formatting.html

+0

ok .. merci pour votre réponse .. mais je vraiment une pour retourner une erreur lorsque la date est mauvais mois> 12 pour exemple et jour> 32 .. comment puis-je faire ou que puis-je utiliser – Kamfasage

+0

@Kamfasage - Si vous essayez de cast 'select cast ('20172202' comme date)', vous obtiendrez une erreur –

+0

donc je devrais faire: 'select to_date (cast (' 20172202 'comme date), YYYYMMDD); ' cela ne fonctionnerait pas parce que la fonction ** to_date ** a comme paramètres texte et texte – Kamfasage

0

j'ai une réponse de ce que je voulais/ i utilisé le to_char au lieu de to_date un je jette le premier paramètre dans la date ..

select to_char(DATE '20162202,'YYYYMMDD') into datResult ; 

donc je peux maintenant avoir une erreur ..

Merci pour votre aide vous tous