 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
18.04.2008, 13:08
|
#1
|
|
TP-Moderator
Registriert seit: Nov 2001
Ort: Vienna
|
[SQL]Monat in Zahl oder DateTime umwandeln
wie kann ich january, februarys .. auf einem engl. SQL-Server in datetime oder zahlen (1,2,3) umwandeln.
Habe es schon mit convert(datetime, time.month, 7) versucht. Hier aber einen Tag, welcher nicht in der DB existiert als String einzufügen und das Jahr hinzufügen, will einfach nicht gehen.
convert(datetime, time.month+"01"+dt.year, 7)
Jemand eine Idee?
Grüße,
Peter
|
|
|
18.04.2008, 19:13
|
#2
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
grundsätzlich gehts umgekehrt. Du hast ein Datum und extrahierst den Monat:
Month(datetime)
|
|
|
18.04.2008, 19:55
|
#3
|
|
TP-Moderator
Registriert seit: Nov 2001
Ort: Vienna
|
Hallo Steffen,
Danke für deine Antwort. Dürfte wohl wirklich schwieriger sein, bei so wenig Response. Die umgekehrte Richtung ist mir bekannt. Leider sollte es aber in diese Richtung gehen.
Ich konnte das Problem jetzt aber über einen Umweg anders lösen.
> Erledigt <
|
|
|
19.04.2008, 00:23
|
#4
|
|
TP-Senior
Registriert seit: May 2004
|
Moin Peter. Ist zwar nicht von Interesse für mich, aber wenn Du schon sagst, dass Du eine Lösung gefunden hast, wäre es nett, wenn Du die auch posten würdest. Vielleicht hat irgendjemand irgendwann ein ähnliches Problem? 
__________________
<< Meine Ankunft war zeitlich schlecht gewählt...>>
|
|
|
19.04.2008, 16:45
|
#5
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Und ne Variante mit SELECT IF eht nicht? Wäre zwar nicht schön für jeden Monat eine IF- Abfrage zu machen, aber vielleicht besser als nix..
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
19.04.2008, 18:19
|
#6
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ok, jetzt hab ichs kapiert, hier die SQL-Lösung:
Code:
SELECT FIELD(time.month,'january','february','march','april','may','june','july','august','september','october','november','december')
|
|
|
21.04.2008, 11:31
|
#7
|
|
TP-Moderator
Registriert seit: Nov 2001
Ort: Vienna
|
Hallo,
Danke für die vielen Antworten.
@Magerquark: Ich schrieb ich hätte keine Lösung gefunden und das Problem daher umgangen. Daher auch keine Lösung von mir gepostet. Für dich poste ich hier den Weg den ich gegangen bin. Und zwar habe ich einfach noch das konkrete Datum in die Dimension Table mitgeschliffen und das Monat dann mit month(field) ausgelesen.
@Steffen: Danke für deinen Versuch, habe es ja schon anders gelöst, musste dein Konstrukt aber jetzt wo du dir die Mühe gemacht hast, trotzdem noch ausprobieren. Leider kam eine Error-msg: Field ist not a recognized built-in function name. Habe leider auch keine Docu über SQL FIELD gefunden.
@Steffen&&Adomir:
Danke, aber das ist jetzt eh hinfällig, weil ich es schon (anders) gelöst habe.
Grüße,
Peter
|
|
|
21.04.2008, 18:16
|
#8
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
die Funktion Field ist hier erklärt:
http://dev.mysql.com/doc/refman/5.1/...functions.html
leider steht nicht dabei ab welcher Version der Befehl zugefügt wurde, das Manual ist ja immer das der neuesten Version (5.1)
Auch wenn Du es anders schon gelöst hast, kann man ja noch ein wenig theoretisieren.
Folgendes Konstrukt geht auch, auch wenn es sicher keinen Schönheitspreis gewinnt
Code:
select if(time.month='january',1,
if(time.month='february',2,
if(time.month='march',3,
if(time.month='april',4,
if(time.month='may',5,
if(time.month='june',6,
if(time.month='july',7,
if(time.month='august',8,
if(time.month='september',9,
if(time.month='october',10,
if(time.month='november',11,
if(time.month='december',12,0))))))))))))
Geändert von steffenk (21.04.2008 um 18:36 Uhr).
|
|
|
23.04.2008, 22:25
|
#9
|
|
TP-Moderator
Registriert seit: Nov 2001
Ort: Vienna
|
Na klar, kann man darüber theoretisieren.
Dein Code geht leider nicht. Wo gehört da das FROM hin?
Fehlertext: Error in SELECT clause: expression near 'IF'.
Missing FROM clause.
Unable to parse query text.
Vielleicht geht das field und dein Code aber auch nicht, weil es um SQL und nicht um mySQL geht?
Grüße,
Peter
|
|
|
24.04.2008, 00:07
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ja klar, ich ging von mySQL aus. SQL ist ja allgemein, meinst Du MS-SQL-Server?
ich hab kein from drin da es nur um das Konstrukt geht.
Ich weiss nicht genau, aber MS kennt auch if, aber vll mit Semikolon statt Komma, ansonsten einfach vervollständigen.
Field ist auch mySQL, aber darauf hab ich ja auch verlinkt 
|
|
|
24.04.2008, 00:16
|
#11
|
|
TP-Moderator
Registriert seit: Nov 2001
Ort: Vienna
|
ah, ich dachte ms-sql wäre (normal-)sql. Also gut, ich ging von MS-SQL aus. Sorry, da hab ich dann wohl ganz oben schon ein wichtiges Detail vergessen.
Ich hab das FROM zwischen SELECT und dem ersten IF versucht und ganz am Schluss, das FROM muss ja nicht in jedes IF!?
|
|
|
24.04.2008, 10:06
|
#12
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
nein, also mein Konstrukt ist nur ein Feld
Code:
SELECT if(time.month='january',1,
if(time.month='february',2,
if(time.month='march',3,
if(time.month='april',4,
if(time.month='may',5,
if(time.month='june',6,
if(time.month='july',7,
if(time.month='august',8,
if(time.month='september',9,
if(time.month='october',10,
if(time.month='november',11,
if(time.month='december',12,0)))))))))))) as newmonth
FROM table
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:21 Uhr.
|
 |