Comment faire pour extraire le numéro de la semaine dans sql
J'ai un transdate colonne de type varchar2 a la suivante plats
01/02/2012
01/03/2012
etc.
Je me suis converti dans le format de date dans une autre colonne à l'aide de la fonction to_date. C'est le format que j'ai eu.
01-JAN-2012
03-APR-2012
Quand je suis en train d'extraire le weekno, je suis de toutes les valeurs null.
select to_char(to_date(TRANSDATE), 'w') weekno from tablename.
null
null
Comment obtenir weekno à partir de la date dans le format ci-dessus?
Jamais, jamais, en aucun cas stocker des dates dans
varchar
colonnes. Il suffit de ne pas.OriginalL'auteur user2133404 | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
Après la conversion de vos
varchar2
date à un vraidate
type de données, puis de les convertir en arrière pourvarchar2
le masque:Si vous voulez le numéro de la semaine dans un
number
type de données, vous pouvez placer l'instruction dansto_number()
:Cependant, vous avez plusieurs semaine nombre d'options à considérer:
01-JAN-12
?Si cette colonne est une
date
type de données, alors oui, dans ce cas vous ne devez appelerto_char(my_column,'WW')
, ou avec le format souhaité en masque, sur cette colonne. Si cette colonne n'est pas un vraidate
type de données, alors vous êtes en s'appuyant sur la conversion implicite dedate
(si cela correspond à votreNLS_DATE_FORMAT
) qui n'est pas idéal.nous voulons du dimanche au samedi pour une semaine,alors comment obtenir le numéro de la semaine ? dans la requête ci-dessus du lundi au dimanche inclusivement considérée comme une semaine
salut @Wolf j'ai obligation où nous avons besoin de considérer une semaine du dimanche au samedi et la première semaine de l'année est de 1 si le premier jour de l'année vient à l'intérieur de samedi inclusivement
Dans la plupart des cas, vous aurez envie d'utiliser
'IW'
. Pour plus d'informations sur la norme ISO voir en.wikipedia.org/wiki/ISO_week_dateOriginalL'auteur Wolf
Essayer de remplacer 'w' pour 'iw'.
Par exemple:
nous voulons du dimanche au samedi pour une semaine,alors comment obtenir le numéro de la semaine ? dans la requête ci-dessus du lundi au dimanche inclusivement considérée comme une semaine
OriginalL'auteur Vinicius Lima
Alors que ce bout de code peut résoudre le problème, ça n'explique pas pourquoi et comment il répond à la question. Veuillez inclure une explication de votre code, qui aide vraiment à améliorer la qualité de votre post. Rappelez-vous que vous répondez à la question pour les lecteurs dans l'avenir, et ces personnes pourraient ne pas connaître les raisons de votre code suggestion. Marqueur / examinateurs: Pour le code-seulement des réponses comme celle-ci, downvote, ne le supprimez pas!
OriginalL'auteur Sheen
Utilisation
'dd-mon-yyyy'
si vous utilisez le 2e format de la date indiquée dans votre réponse. Ex:OriginalL'auteur miz