Ik zit met het probleem van het vergelijken van DateTime velden die net zijn geconvert.
Ik heb de volgende code:
Deze werkt perfect daar heb ik geen problemen mee, maar als ik nou een voorwaarde zet op Expr1 bijvoorbeeld:
Dan krijg ik de volgende foutmelding: "Syntax error converting datetime from character string.", Nou heb ik me suf gezocht, maar ik kan niet vinden waarom dit een foutmelding zou moeten geven, aangezien de convert gewoon goed is
Kan iemand mij hier mee helpen?
Ik heb de volgende code:
code:
1
2
3
4
5
| SELECT dbo.TBL_Value.ItemId AS id, dbo.TBL_Value.VarValue, CONVERT(DATETIME, CONVERT(varchar(1000), dbo.TBL_Value.VarValue), 101) AS Expr1,
CONVERT(DATETIME, '2005-01-01', 101) AS Expr2
FROM dbo.TBL_Variable INNER JOIN
dbo.TBL_Value ON dbo.TBL_Variable.Id = dbo.TBL_Value.VariableId
WHERE (dbo.TBL_Variable.Name = 'Datum') AND (dbo.TBL_Variable.TemplateID = 20085) |
Deze werkt perfect daar heb ik geen problemen mee, maar als ik nou een voorwaarde zet op Expr1 bijvoorbeeld:
code:
1
2
3
4
5
6
| SELECT dbo.TBL_Value.ItemId AS id, dbo.TBL_Value.VarValue, CONVERT(DATETIME, CONVERT(varchar(1000), dbo.TBL_Value.VarValue), 101) AS Expr1,
CONVERT(DATETIME, '2005-01-01', 101) AS Expr2
FROM dbo.TBL_Variable INNER JOIN
dbo.TBL_Value ON dbo.TBL_Variable.Id = dbo.TBL_Value.VariableId
WHERE (dbo.TBL_Variable.Name = 'Datum') AND (dbo.TBL_Variable.TemplateID = 20085) AND (CONVERT(DATETIME, CONVERT(varchar(1000),
dbo.TBL_Value.VarValue), 101) < CONVERT(DATETIME, '2005-01-01', 105)) |
Dan krijg ik de volgende foutmelding: "Syntax error converting datetime from character string.", Nou heb ik me suf gezocht, maar ik kan niet vinden waarom dit een foutmelding zou moeten geven, aangezien de convert gewoon goed is
Kan iemand mij hier mee helpen?
edit:
Het resultaat van Expr1 is: 1-1-2004 en van Expr2 is 1-1-2005
Het resultaat van Expr1 is: 1-1-2004 en van Expr2 is 1-1-2005
[ Voor 6% gewijzigd door renekosterman op 12-10-2005 13:25 ]