簡體   English   中英

SQL之間的日期時間不起作用

[英]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 ,排序(和比較)使用字符串值而不是它們表示的日期。

如果ReleasedDatevarchar列,則首先將其轉換為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM