我应该使用哪些数据来返回结果?

时间:2010-12-19 05:03:36

标签: sql mysql

这是我的SQL查询。我的表中有关于此查询的数据。但是这个查询不会返回任何结果。

Select Prod_Batch_ID,tbl_product.product_name, Quantity,DATE_FORMAT(Production_Date, '%W, %D %M %Y') from tbl_production,tbl_product where tbl_production.Product_ID  = tbl_product.Product_ID and (Production_Date between STR_TO_DATE('2010-01-01 00:00:00.000','%m/%d/%Y')and DATE_ADD(STR_TO_DATE('2010-12-12 00:00:00.000','%m/%d/%Y'), INTERVAL 1 DAY))

表中的Production_Date列是时间戳类型。是否使用str_to_date将问题转换为日期?

2 个答案:

答案 0 :(得分:2)

问题是您无法查询timestamp列。引用SQL Server联机丛书:

  

SQL Server时间戳数据类型具有   与时间或日期无关。 SQL   服务器时间戳是二进制数   表示相对序列   哪些数据修改发生在   一个数据库。时间戳数据类型   最初实施是为了支持   SQL Server恢复算法。

答案 1 :(得分:1)

您的STR_TO_DATE格式字符串错误。尝试

%Y-%m-%d

或者

%Y-%m-%d %h-%i-%s

您需要将日期格式与传入的字符串相匹配。