Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

ASP: Datum naar MS SQL Server

Anoniem
Annie
7 antwoorden
  • Hoi,

    Ik heb een site gemaakt met behulp van ASP en MS Access. Het is nu de bedoeling dat deze site gebruik gaat maken van een MS SQL Server ipv MS Access..

    Dit wil allemaal aardig lukken, alleen geeft de SQL server fouten op het via ASP aanpassen of invoegen van datums. (gloof dat je dat officieel schrijft als 'data', maar da's ook zo onduidelijk :wink:)

    Bij MS Access heb ik bijvoorbeeld:

    SELECT * FROM tblNews WHERE newsDatum = '#23-12-2001#'

    Hoe doe ik dit in SQL Server ?

    bvd,

    Elja

  • Om te checken op [b:a95f98731f]exacte[/b:a95f98731f] datum moet je eerst converten naar (var)char en dan met LIKE checken op het datum deel.
    Datums (zo mag je het ook schrijven :wink:) worden namelijk inclusief timepart opgeslagen in de database.

    bijv:
    where convert(varchar, newsDatum, 21) like '2002-01-31%'

    Je kan natuurlijk ook checken op een range van datums (dan is conversie meestal niet nodig), bijv:
    where newsDatum > '2002-01-31'
  • Als die datum zijn opgeslagen als datumtype, dan krijg ik de neiging om de datum uit te splitsen naar een dagwaarde, een maandwaarde en jaarwaarde en dan pas te controleren, dus zoiets als
    SELECT * FROM tblNews WHERE YEAR(newsDatum)=2001 AND MONTH(newsDatum)=12 AND DAYOFMONTH=23
  • Thx Annie en Willy!

    Ik ga het proberen..
    Nog een vraag in hetzeflde straatje.
    Bij het wegschrijven van een datum krijg ik ook een fout.

    Weer met voorbeeld:
    INSERT INTO tblNews VALUES ('bericht', '#31-01-2002#')

    Elja
  • mssql werkt niet met # om de datum (da's Access).
    dus gewoon als string invoeren: '2002-01-31'

    btw. als je de huidige datum wil invoeren dan kan je ook de getdate() functie gebruiken, bijv:

    insert into tabel (tekst, datum) values ('iets', getdate())

    [ Dit Bericht is bewerkt door: Annie op 2002-01-31 13:00 ]
  • Thx!

    Gewoon als string hadden we al geprobeerd, maar niet zo omgedraaid..

    Werkt perfect !

    Elja
  • Wat Annie daar zei, is denk ik idd het beste. Zo hoef je je geen zorgen te maken over de datumopmaak etc.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.