請問x_zing(阿浩)你試過了嗎? 我也曾試過類似的 語句,不過出現 err:The conversion of a char data type to a datetime data type resulted in a out_of_rang datatime value!SELECT * FROM offduty_tbl WHERE (CONVERT(datetime, CONVERT(char(10), offduty_start_date) + CONVERT(char(8), offduty_start_apm), 126) > getdate())這樣寫對嗎?
用convert转换 where colname between convert(datetime,convert(char(11),@startdate,120)+convert(char(8),@startapm,108)) and convert(datetime,convert(char(11),@Enddate,120)+convert(char(8),@Endapm,108))
你可以参考如下语句:
declare @start_datetime datetime
declare @end_datetime datetime
select * from table
where time>@start_datetime and time<@end_datetime希望能对你有所帮助!
(由于都是datetime型,时间都是精确到千分之一秒的,用一定函数才能精确到日期,如select getdate()结果是2002-04-02 08:23:56.077
,而select convert(varchar(20), getdate(), 102)的结果是2002.04.02
,时间部份就忽略掉了)declare @time varchar(30)
select * from table where convert(varchar(20), @time, 102)<... and convert(varchar(20), @time, 102)>...
请问如何可以将日期和时间合并并最终转换为日期?
that's say:
date time datatime
-------- -------- -------------------
2002/02/02 01:01:00 2002/02/02 01:01:01
convert(datetime,convert(varchar(10),date)+convert(varchar(8),time))
err:The conversion of a char data type to a datetime data type resulted in a out_of_rang datatime value!SELECT *
FROM offduty_tbl
WHERE (CONVERT(datetime, CONVERT(char(10), offduty_start_date) + CONVERT(char(8),
offduty_start_apm), 126) > getdate())這樣寫對嗎?
where colname between convert(datetime,convert(char(11),@startdate,120)+convert(char(8),@startapm,108)) and convert(datetime,convert(char(11),@Enddate,120)+convert(char(8),@Endapm,108))