it-swarm.com.de

So extrahieren Sie die Wochennummer in sql

Ich habe eine Transdate-Spalte vom Typ varchar2, die die folgenden Entrees hat 

01/02/2012
01/03/2012

usw.

Ich habe es mit to_date in eine andere Spalte in das Datumsformat umgewandelt. Dies ist das Format, das ich bekam.

01-JAN-2012
03-APR-2012

Wenn ich versuche, das weekno zu extrahieren, erhalte ich alle Nullwerte. 

wählen Sie to_char (to_date (TRANSDATE), 'w') als weekno aus dem Tabellennamen aus.

null
null

Wie bekomme ich weekno ab Datum im obigen Format? 

15
user2133404

Nachdem Sie Ihr varchar2-Datum in einen echten date-Datentyp konvertiert haben, konvertieren Sie mit der gewünschten Maske wieder nach varchar2:

to_char(to_date('01/02/2012','MM/DD/YYYY'),'WW')

Wenn Sie die Wochennummer in einem number-Datentyp haben möchten, können Sie die Anweisung in to_number() einschließen:

to_number(to_char(to_date('01/02/2012','MM/DD/YYYY'),'WW'))

Sie haben jedoch mehrere Optionen für die Wochennummer zu berücksichtigen:

WW  Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.
W   Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh.
IW  Week of year (1-52 or 1-53) based on the ISO standard.
56
Wolf

Versuchen Sie, 'w' für 'iw' ..__ zu ersetzen. Beispiel:

SELECT to_char(to_date(TRANSDATE, 'dd-mm-yyyy'), 'iw') as weeknumber from YOUR_TABLE;
3
Vinicius Lima
Select last_name, round (sysdate-hire_date)/7,0) as tuner 
  from employees
  Where department_id = 90 
  order by last_name;
0
Sheen