28. februar 2009 - 10:01
Der er
6 kommentarer og 1 løsning
Q foran Quarter i select query
Hej Jeg har følgende query: SELECT DateKey, FullDateAlternateKey, DayNumberOfWeek, EnglishDayNameOfWeek, SpanishDayNameOfWeek, FrenchDayNameOfWeek, DayNumberOfMonth, DayNumberOfYear, WeekNumberOfYear, EnglishMonthName, SpanishMonthName, FrenchMonthName, MonthNumberOfYear, CalendarQuarter, CalendarYear, CalendarSemester, FiscalQuarter, FiscalYear, FiscalSemester FROM dbo.DimDate Her vil jeg gerne have smidt Q foran CalenderQuarter. Pt ligger calenderquarter gemt som tinyint, så skal have konverteret til en char og så smidt Q foran CalenderQuarter
Annonceindlæg fra HP
28. februar 2009 - 13:31
#1
...,CONCAT('Q',CalendarQuarter),...
28. februar 2009 - 14:26
#2
Tak for svaret :) Det bliver dog konverteret til { fn CONCAT('Q', Color) } AS Color når jeg executer forespørgslen, men ellers virker det fint. Jeg bruger det til at redigere i data viewet i business intellegence studio. (replace table with new named query) Når jeg bruger dette script: 'Q' + CAST(CalenderQuarter AS char(4)) AS CalenderQuarter Får jeg en fejl. medd. Har du nogen ide om hvorfor det ikke virker? Ellers smider du bare et svar ;)
28. februar 2009 - 15:06
#3
MySQL skal bruge CONCAT ikke + til den slags. { fn CONCAT() } tyder på at det software du bruger er Java orienteret ! Noget ret smart Java software !! Jeg er lidt forvirret over Color versus CalendarQuarter, men det antager jeg bare er noget eksempel halløjsa. Men virker det er alle jo lykkelige. Og svar.
28. februar 2009 - 15:29
#4
Okay. Kan se jeg fejlagtigt har fået oprettet spørgsmålet i MySQL kategorien. Jeg bruger MSSQL. Skal jeg stadig holde fast ved CONCAT?
28. februar 2009 - 15:33
#5
Ah. Nej i MS SQLServer bør + virke. Prøv med: ('Q' + CAST(CalenderQuarter AS VARCHAR(4))) AS CalenderQuarter og hvis ikke den virker så pot fejlmeddelelsen.
28. februar 2009 - 16:23
#6
Ah nu virker det. Calender skulle have været CalendAr ;) Det er vel nok med char(2) i dette tilælde. Hvis jeg havde haft eks. 'Quarter' foran quarter nummeret skulle det vel have været char(8) i stedet ikke?
28. februar 2009 - 16:39
#7
Det er vel kun tallet du caster så CHAR(1) er sikkert nok.
Computerworld tilbyder specialiserede kurser i database-management