2017-01-12 3 views
0

Ich habe die folgende Abfrage:Replace arbeiten nicht mit einem Datum konvertieren

select distinct 
min(Id), 
Name, 
Age, 
replace(CONVERT(VARCHAR(24),birthday,113),' ','-') as "Birthday" 
from #temp_table 
group by name, age 

Gibt einen vageen Fehler „falsche Syntax nahe dem Schlüsselwort ersetzen“ Wenn ich den Teil ersetzen entfernen funktioniert es aber wieder ein Datumsformat I don Ich will nicht. Ich brauche das Datum in TT-MMM-YY-Format konvertiert werden. Die Eingabe ist mm/TT/JJJJ. Tun Sie dies in Sybase, wenn das wichtig ist.

+0

Funktioniert die Abfrage, wenn Sie 'replace()' entfernen und nur 'convert()' verwenden? –

+0

@GordonLinoff ja es tut. – Icebreaker

+0

Was ist die Version Ihrer Sybase? –

Antwort

0

Wenn Sie ASE verwenden und nicht IQ, sollte die folgende hässliche Tier arbeiten:

... str_replace (str_replace (CONVERT (VARCHAR (24), Geburtstag, 106), substring (Geburtstag , 7,5), '-' + String (Geburtstag, 10,2)),‘ ' '-') ...

Leider von Sybase Standards, die ein ziemlich ungewöhnliches Datumsformat ist Du' suchend.

Verwandte Themen