2016-11-10 2 views
0

ich eine Spalte haben, die Datumswerte als varchar hält wie im Formatkonvertieren Zeichenfolge mit der Zeit bisher nur

date_n     date_s 
2016-11-10::12:36:05  2016-NOV-10::12:36:05 
2016-11-10    2016-NOV-10 

Jetzt alles was ich brauche Datum von beiden Spalten zu bekommen, aber ich bin nur in der Lage erhalten aus der Spalte date_n zusammen mit Zeitstempel und nichts von date_s die Abfrage, die ich als versuchte

SELECT * FROM table where CAST(date_n AS DATE)=CURDATE(); 

, die als Ergebnis sowohl Element zurückgibt, aber wenn ich ändern date_n zu date_s kehrt leer und alles was ich brauche Ausgabe als date nur kein Zeitstempel

So ist es eine Möglichkeit, diese

+0

Sie wollen beide Bedingung oder ein –

+1

Haben Sie versucht, WHERE DATE (date_s) = DATE() '? – Viki888

Antwort

0

Hallo versuchen zu klären, diese Logik

WHERE TRIM(UPPER(SUBSTRING_INDEX(date_s,':',1))) = 
TRIM(CONCAT(YEAR(NOW()),' 
-',UPPER(SUBSTRING((MONTHNAME(STR_TO_DATE(MONTH(NOW()),'%m'))),1,3)),'-',DAY(NOW()))) 
0
WHERE date_s LIKE CONCAT(YEAR(NOW()),'-',UPPER(SUBSTRING(MONTHNAME(NOW()), 1, 3)),SUBSTRING(CURRENT_DATE(), 8), '%'); 
Verwandte Themen