Bonjour,
Existe t-il un moyen de modifier l'année d'une date (la date étant au format jj-mm-aaaa) dans un UPDATE.
Ex: ma date est 01.01.2004 et je souhaite obtenir 01.01.2005.
Merci d'avance, @+.
Bonjour,
Existe t-il un moyen de modifier l'année d'une date (la date étant au format jj-mm-aaaa) dans un UPDATE.
Ex: ma date est 01.01.2004 et je souhaite obtenir 01.01.2005.
Merci d'avance, @+.
Voici la requete que j'effectue pour réaliser cette opération.
Peut être existe t'il un moyen plus simple ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE VALSOC SET SOC_DateDeb = (SELECT CAST(CAST(EXTRACT(DAY FROM SOC_DateDeb)AS CHAR(2)) || "-" || CAST(EXTRACT(MONTH FROM SOC_DateFin)AS CHAR(2)) || "-" || CAST(EXTRACT(YEAR FROM SOC_DateFin)+1 AS CHAR(4)) AS DATE) FROM MATABLE
@+
Oui en utilisant une UDF celà devient beaucoup plus simple...
Code : Sélectionner tout - Visualiser dans une fenêtre à part update matable set macolonneDate=FonctionUDFAddDate(0,0,1,macolonneDate);
Bonjour,
Oui effectivement, cependant j'essaye d'eviter les fonction UDF pour etre un maximum compatible avec les diverses SGBD.
Merci. @+
Oui c'est bien j'ai bien peur que l'utilisation d'EXTRACT ne soit la seule fonction normalisée...Envoyé par Sitting Bull
Mais attention c'est pas parce que c'est la solution normalisé que celà rend cette solution la plus portable... En effet Extract n'est pas reconnu par la plupart des SGBD....
Je vous invite à regarder le site de SQL PRO.
Donc je dirais que la solution de l'UDF ne rend pas moins portable votre base si vous utilisez des fonctions manquantes à interbase mais que l'on trouve courramment chez les autres SGBD (sous forme également d'UDF ou fonction intrégée au SQL).
Et notamment ADDDATE ou ADD_YEAR ne sont pas normalisées au sens SQL mais on les trouve généralement dans la plupart des SGBD.
Partager