在sql中的Where语句之前转换字段格式

时间:2014-05-20 15:09:26

标签: sql ms-access replace converter where

我正在asp中构建一个日历,它是使用aspwebcalender填充的数据库。问题是我的数据库日期格式是mm-dd-yyyy(startdate字段),而aspwebcalender正在寻找mm / dd / yyyy(DateToUse值)。我试图在我的WHERE语句中动态转换字段。我尝试过REPLACE,CONVERT,甚至解析和重建这个领域。我确定有一些简单的解决方案。

这是我到目前为止我的领域[startdate]:

SELECT * FROM customers 
 WHERE (SELECT(CONVERT(VARCHAR(10), startdate, 101) 
         AS [MM/DD/YYYY])) = #" & DateToUse & "# ORDER BY StartTime"

我知道它一团糟。

我也尝试过:

SELECT * FROM customers WHERE  
  (Left((startdate),2)) + '/' + MID(startdate,4,2)+ '/' + right(startdate,4)) = " & 
      DateToUse & " ORDER BY StartTime"

还有:

SELECT * FROM customers WHERE 
      (REPLACE(startdate,-,/)) = #" & DateToUse & "# ORDER BY StartTime"

提前致谢

1 个答案:

答案 0 :(得分:0)

如果startdate是日期类型和oracle数据库。

然后使用这个:

 select to_char(StartTime, 'mm/dd/yyyy'), "OTHER COLUMNS to select" FROM customers WHERE 
  to_char(StartTime, 'mm/dd/yyyy ') = DateToUse  ORDER BY StartTime desc;