tennessee
Goto Top

Wieso funktioniert dieser Selekt nicht?

DECLARE @zd4 varchar(255)
DECLARE @d4 varchar
select @zd4=(select case CONVERT(varchar,datepart(dw, CURRENT_TIMESTAMP -4))
WHEN 1 THEN 6
WHEN 7 THEN 5
ELSE 4 END)

select @zd4=(select case CONVERT(varchar,datepart(dw, CURRENT_TIMESTAMP -4))
WHEN 1 THEN 6
WHEN 7 THEN 5
ELSE 4 END)

select CONVERT(varchar,served_30) from TK_INC where CONVERT(varchar, CURRENT_TIMESTAMP -@ZD4, 104) = CONVERT(varchar, me_time, 104) and CONVERT(varchar, datepart(hh, me_time)) between '8' and '17'


RESULT:
Server: Msg 241, Level 16, State 1, Line 13
Syntax error converting datetime from character string. ???

Ich habe doch alles zum varchar konvertiert

Content-ID: 55336

Url: https://administrator.de/contentid/55336

Ausgedruckt am: 26.11.2024 um 06:11 Uhr

Logan000
Logan000 29.03.2007 um 10:21:15 Uhr
Goto Top
Wenn man versucht einen Varchar ...
DECLARE @zd4 varchar(255)
von einen datetime zu subtrahieren ...
CURRENT_TIMESTAMP -@ZD4
Wird einer der werte vorher konvertiert und das führt in deinem Fall zu dieser Meldung.
RESULT: Server: Msg 241, Level 16, State 1, Line 13
Syntax error converting datetime from character string. ???

Versuchs mal so:
DECLARE @zd4 int
Antitheus
Antitheus 29.03.2007 um 10:24:25 Uhr
Goto Top
Moin moin

Kann es sein das er mit dem „and“ nicht klar kommt?
CONVERT(varchar, datepart(hh, me_time)) between '8' and '17'

Da er das wie ein Bedingung erkennt.

Versuch mal so:

select CONVERT(varchar,served_30) from TK_INC where CONVERT(varchar, CURRENT_TIMESTAMP -@ZD4, 104) = CONVERT(varchar, me_time, 104) and (CONVERT(varchar, datepart(hh, me_time)) between '8' and '17');


mfg GD