Web
Site
Search
Home
Agenda
Links
Bloggers
Over PASS Nederland
User benefits
Geregistreerd... en dan?
Sponsoring
Artikelen
Cursussen en certificering
SQL Server 2000
SQL Server 2005
Examenrecensies
Archief nieuwsbrieven
2005
Nieuwsbrief 1 / 09-10-2005
2006
Nieuwsbrief 2 / 16-01-2006
Nieuwsbrief 3 / 11-03-2006
Nieuwsbrief 4 / 11-04-2006
Nieuwsbrief 5 / 08-05-2006
Nieuwsbrief 6 / 18-06-2006
Nieuwsbrief 7 / 27-08-2006
Nieuwsbrief 8 / 20-10-2006
Nieuwsbrief 9 / 22-12-2006
2007
Nieuwsbrief 10 / 04-02-2007
Nieuwsbrief 11 / 05-03-2007
Nieuwsbrief 12 / 02-04-2007
Nieuwsbrief 13 / 01-05-2007
Nieuwsbrief 14 / 01-06-2007
Nieuwsbrief 15 / 02-09-2007
Nieuwsbrief 16 / 04-10-2007
Nieuwsbrief 17 / 05-11-2007
Nieuwsbrief 18 / 06-12-2007
2008
Nieuwsbrief 19 / 12-01-2008
Nieuwsbrief 20 / 14-02-2008
Nieuwsbrief 21 / 02-05-2008
Nieuwsbrief 22 / 16-06-2008
Nieuwsbrief 23 / 01-08-2008
Nieuwsbrief 24 / 13-11-2008
Nieuwsbrief 25 / 01-12-2008
2009
Nieuwsbrief 26 / 07-02-2009
Nieuwsbrief 27 / 09-03-2009
Nieuwsbrief 28 / 01-04-2009
Nieuwsbrief 29 / 04-06-2009
Nieuwsbrief 30 / 02-09-2009
Nieuwsbrief 31 / 06-10-2009
Nieuwsbrief 32 / 07-11-2009
Nieuwsbrief 33 / 04-12-2009
Forum
onze sponsors
Forum
Login
|
Register
Forum
Unanswered
Active Topics
Forums
Search
Forums
>
Forums
>
Ontwikkelen
Subject: CONVERT of CAST
Prev
Next
You are not authorized to post a reply.
Author
Messages
Oldest First
Newest First
A S
Posts:25
18-10-2007 13:45:45
Alert
Hallo!
In een database wordt een datum opgeslagen als een numeric value, bijvoorbeeld 20071018.
Nu wil ik een selectie doen op een tabel met alle rijden tussen datum1 en datum 2.
Hoe kan ik die selectie maken?
mvg!
Arjan Fraaij
Posts:110
18-10-2007 14:14:56
Alert
Je kan proberen:
SELECT bla bla bla FROM Table
WHERE CONVERT(datetime,
) BETWEEN DateX AND DateY
Wat ik wel zou willen weten, en wellicht iemand anders kan beantwoorden is wanneer kies je voor Convert of Cast?
Gr,
Arjan
Arjan Fraaij
Posts:110
18-10-2007 14:17:18
Alert
Er stond
WHERE CONVERT(datetime,DateColumn
) BETWEEN DateX AND DateY
Alleen dan DateColumn tussen groter kleiner dan teken en blijkbaar kan het forum dit niet aan.
Markus Bohse
Posts:19
19-10-2007 10:00:34
Alert
AS
zolang je de zeker weet dat de extra 0 voor dagen een maanden onder 10 aanwezig is, heb je geen conversie nodig.
Zie diw voorbeeld voor integers en char velden.
CREATE TABLE #t
(ID int IDENTITY(1,1), date1 int,
date2 char(8))
INSERT INTO #t
VALUES(20071010,'20071010')
INSERT INTO #t
VALUES(20061010,'20061010')
INSERT INTO #t
VALUES(20071001,'20071001')
INSERT INTO #t
VALUES(20071018,'20071018')
INSERT INTO #t
VALUES(20070910,'20070910')
-- Search on int values
SELECT * FROM #t
WHERE date1 BETWEEN 20071008 AND 20071020
-- Search on char values
SELECT * FROM #t
WHERE date2 BETWEEN '20071008' AND '20071020'
Op Arjan zijn vraag wanneer CAST en wanneer CONVERT is denk ik geen simpele antwoord mogelijk. CAST is ANSI compatibel e CONVERT niet. Maar vooral wanneer je met datum en tijd werkt zijn de type parameters in CONVERT toch erg handig. Dus voor datetime conversies gebruik ik eigenlijk altijd CONVERT, maar als het ANSI standaard moet zijn dan CAST.
Markus
Markus
You are not authorized to post a reply.
Algemeen
--Forum regels
PASS Nederland
--Aankondigingen
--Bijeenkomsten
--PASS Nederland Algemeen
Forums
--DBA
--Ontwikkelen
--Business Intelligence
--Metadata (SIG)
--Performance (SIG)
--High Availability (SIG)
--XML (SIG)
--Algemeen
SQL Server
Forums
>
Forums
>
Ontwikkelen
> CONVERT of CAST
ActiveForums 3.6
Copyright (c) 2012 PASS Nederland
Privacy Statement
Terms Of Use