A voir également:
- Oracle date null
- Trier par date excel - Guide
- Airpods 3 date de sortie - Guide
- Trouver une date de naissance gratuit ✓ - Forum Google Chrome
- Formule excel si date supérieur à une autre date ✓ - Forum Excel
6 réponses
jee pee
Messages postés
40972
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 mars 2025
9 572
9 nov. 2009 à 21:23
9 nov. 2009 à 21:23
Salut,
d'abord je ne comprends pas le decode :
"DECODE(:DATE_APPRO,'','00', null, to_date(:DATE_APPRO,'YYYY-MM-DD'))"
règle :
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)
ou
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
donc si je prends ton decode
quand date_appro egal '' , alors '00'
et quand date_appro null alors to_date
ou alors dans le sql*loader la syntaxe est autre
Et ton fichier texte il contient NUL , soit 3 octets ou cela affiche NUL qui correspondrait à '00' hexa ??
d'abord je ne comprends pas le decode :
"DECODE(:DATE_APPRO,'','00', null, to_date(:DATE_APPRO,'YYYY-MM-DD'))"
règle :
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)
ou
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
donc si je prends ton decode
quand date_appro egal '' , alors '00'
et quand date_appro null alors to_date
ou alors dans le sql*loader la syntaxe est autre
Et ton fichier texte il contient NUL , soit 3 octets ou cela affiche NUL qui correspondrait à '00' hexa ??
jee pee
Messages postés
40972
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 mars 2025
9 572
10 nov. 2009 à 08:51
10 nov. 2009 à 08:51
Il faudrait que dans le décode tu donnes la valeur hexa des 10 positions, syntaxe sans garantie : X'00'
donc decode(...,X'00000000000000000000',null,to_date...
donc decode(...,X'00000000000000000000',null,to_date...
salut jeepee,
j'ai trouvé la solution il faut faire ça
"DECODE(HEXTORAW(:DATE_APPRO),'', null, to_date(:DATE_APPRO,'YYYY-MM-DD'))"
je suis trop bon :)
j'ai trouvé la solution il faut faire ça
"DECODE(HEXTORAW(:DATE_APPRO),'', null, to_date(:DATE_APPRO,'YYYY-MM-DD'))"
je suis trop bon :)
mais maintenant si j'ai vraiment une date alors HEXTORAW plante. comment tu fais pour détecter que tu as de l'hexa ou bien que c'est NUL soit x00 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jee pee
Messages postés
40972
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 mars 2025
9 572
10 nov. 2009 à 12:52
10 nov. 2009 à 12:52
As tu essayé comme je t'ai indiqué, donc en cherchant une chaine de 10 octets contenant zéro hexa ?
NULL est une notion propre à la base de donnée. Puisque une valeur zéro (binaire ou héxa c'est toujours zéro) c'est une valeur, ce n'est pas NULL qui signifie pas de valeur, non renseigné.
NULL est une notion propre à la base de donnée. Puisque une valeur zéro (binaire ou héxa c'est toujours zéro) c'est une valeur, ce n'est pas NULL qui signifie pas de valeur, non renseigné.
10 nov. 2009 à 01:18
effectivement c'est une coquille la syntaxe est
"DECODE(:DATE_APPRO,'00', null, to_date(:DATE_APPRO,'YYYY-MM-DD'))"
et mon fichier de data contient des 0 en hexa à la place de ma date. Soit effectivement ce qui s'affiche en NUL dans Notepad++