[英]SQL Datetime not working with between
我有一個查詢,我需要獲取一系列日期,它是一個SSRS查詢,因此日期以varchars的形式出現。 問題是,當我在兩次之間使用時,它不返回我知道的任何值
declare @start datetime,
@end datetime
set @start =convert(datetime,'10/13/2014')
set @end =convert(datetime,'10/13/2014')
SELECT
ReleasedDate
FROM tblJobHold
WHERE ReleasedDate between @start and @end
與此相同:
declare @start datetime,
@end datetime
set @start =convert(datetime,'10/13/2014')
set @end =convert(datetime,'10/13/2014')
SELECT
ReleasedDate]
FROM [tblJobHold]
WHERE[ReleasedDate] <= @start and [ReleasedDate] >= @end
將日期時間轉換為varchar時,是否有辦法使日期時間正常工作?
它是一個SSRS查詢,因此日期以varchars的形式出現
如果要傳遞參數,則可以將參數設置為日期類型。 不知道問題出在哪里。
將日期時間轉換為varchar時,是否有辦法使日期時間正常工作?
不是您想要的方式-轉換為varchar
,排序(和比較)使用字符串值而不是它們表示的日期。
如果ReleasedDate
是varchar
列,則首先將其轉換為datetime
:
SELECT
ReleasedDate
FROM tblJobHold
WHERE CONVERT(DATETIME,ReleasedDate) between @start and @end
您為開始時間和結束時間指定了相同的日期
由於您只提供日期,因此時間部分將是午夜,因為時間相同,因此您找不到任何記錄
set @start =convert(datetime,'10/13/2014')
set @end =convert(datetime,'10/13/2014')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.