Toon posts:

[MS SQL Server 2005] converteren datum icm formule

Pagina: 1
Acties:

Onderwerpen


  • Nukar
  • Registratie: januari 2009
  • Laatst online: 23-09 15:00
Dag tweakers,
Ik heb hulp nodig bij een SQL uitvraag binnen MS SQL Server 2005.

Mijn bedoeling is de huidige leeftijd van een product op te zoeken in hele jaren. En daarna een count per leeftijd.
Voor het bepalen van de huidige datum gebruik ik de functie
getdate() - dit geeft formaat YYYY-MM-DD uu:mm:ss.000

Voor de bepaling van de leeftijd wil ik een kolom 'eerste_entry' gebruiken. Echter deze heeft het formaat YYYYMMDD

Voor de leeftijd bepaling van de leeftijd moet ik dus
A getdate converteren naar formaat YYYYMMDD
= convert(varchar(8),getdate(), 112) as [YYYYMMDD] -

B jaartallen uitvragen
= year(getdate()) - eerste_entry/10000

Omdat ik leeftijd voor vandaag wil weten is B geen optie. Hiermee bepaal ik de leeftijd per 01-01-2010.
Dus blijft A over.
Echter zodra ik de formule na de convert wil uitwerken blijf ik foutmeldingen krijgen.

De query
SQL: jaar.sql
1
2
3
SELECT   convert(varchar(8),getdate(), 112) as [YYYYMMDD]  - eerste_entry, count(*)
FROM      artikelen
GROUP BY     convert(varchar(8),getdate(), 112) as [YYYYMMDD]  - eerste_entry


De melding:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '-'.


De convert tussen () plaatsen geeft de melding:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'as'.


Aangezien ik hier al vastloop heb ik het verschil nog niet terug gebracht naar hele jaren., ik dacht dit op te lossen door de uitkomst te delen door 10000

Alle suggesties zijn welkom.

Alvast bedankt!

"Today is the worst day since yesterday"


  • pkouwer
  • Registratie: november 2001
  • Laatst online: 22-08 15:48
moet je niet aanhalingstekens of qoutes gebruiken rond de tabelnaam ??

  • Nukar
  • Registratie: januari 2009
  • Laatst online: 23-09 15:00
pkouwer schreef op woensdag 10 november 2010 @ 12:53:
moet je niet aanhalingstekens of qoutes gebruiken rond de tabelnaam ??
Nee dat hoeft niet, kan wel. Maar je opmerking heeft mij wel op mijn fout gewezen. Dus bedankt!
Het toekennen van een kolomnaam aan de convert hoort hier helemaal niet thuis.

Deze formule werkt wel
SQL: jaar.sql
1
2
3
SELECT   (convert(varchar(8),getdate(), 112)   - eerste_entry)/10000, count(*)
FROM      artikelen
GROUP BY    (convert(varchar(8),getdate(), 112)   - eerste_entry)/10000

"Today is the worst day since yesterday"



Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee