网上有很多关于这个的东西,但我不能让任何事情正常工作。
我需要找到特定表格中的所有内容,其中我的参数的日期在此表格的'timestamp'datetime中找到
让我们说吧。
Select g.*
From egtable..headerinfo as g
WHERE g.istatus BETWEEN 5 AND 10 AND
REPLACE(LEFT(CONVERT (varchar, timestamp, 101),10),' ','-') = convert(datetime,'<%parameterDate%>')
时间戳显示为'yyyy-mm-dd hh:mm:ss' 我的参数日期将是'mm / dd / yyyy'
我的目标是最终去除时间,转换日期然后与参数进行比较。 任何有关这方面的帮助将不胜感激。我尝试过无数种组合似乎没有任何效果:(
由于 乙
答案 0 :(得分:0)
假设您使用的是MySQL,因为您没有说明您使用的内容,您可以使用它:
Select g.*
From egtable..headerinfo as g
WHERE g.istatus BETWEEN 5 AND 10 AND
timestamp = MAKEDATE(SUBSTRING('<%parameterDate%>', 4, 2),
SUBSTRING('<%parameterDate%>', 1, 2),
SUBSTRING('<%parameterDate%>', 6, 4))
MySQL中的MAKEDATE根据接收日,月,年输入为您创建日期字段
答案 1 :(得分:0)
如果您正在使用SQL Server(您的查询看起来像这样)并且您的SQL Server版本号是2008及更高版本,则可以通过将datetime
转换为{{1}来轻松删除date
的时间部分}}
cast(datetimecolumn as date)
在你的情况下,它将是:
Select g.*
From egtable..headerinfo as g
WHERE g.istatus BETWEEN 5 AND 10 AND
cast([timestamp] as date) = cast('<%parameterDate%>' as date)