SQL 日期格式 BETWEEN 查询

Posted

技术标签:

【中文标题】SQL 日期格式 BETWEEN 查询【英文标题】:SQL Date format BETWEEN query 【发布时间】:2012-09-23 12:23:02 【问题描述】:

我有一个表客户,其中包含一些字段,包括日期,现在我想在 2 个日期之间打印一份报告,但是日期的格式是这样的

Tuesday, October 02, 2012

我正在使用 C# 生成查询并将其发送到报表查看器,建议此输出的查询。

C# 日期格式是

string date = datetime.now.tostring("D");

【问题讨论】:

您已经尝试过哪些查询? 字符? 似乎没有出现在您的帖子中的任何地方.. 日期是按所示格式作为字符串存储在客户表中还是存储在日期类型的字段中? 【参考方案1】:

我知道您说的只是 SQL,但您似乎没有得到太多帮助,所以我将向您展示我将如何使用 mysql 来解决这个问题,希望它会有所帮助:

在 C# 中,像这样创建查询字符串:

string date1 = dt1.ToString("D");
string date2 = dt2.ToString("D");
string query = "SELECT * FROM customer WHERE cast(entered_date_time as date) > STR_TO_DATE('" + date1 + "', '%W, %M %d, %Y') AND cast(entered_date_time as date) < STR_TO_DATE('" + date2 + "', '%W, %M %d, %Y');";

为了让您更好地了解查询,以下是我正在执行的示例:

SELECT * FROM customer WHERE
cast(entered_date_time as date) > STR_TO_DATE('Monday, October 01, 2012', '%W, %M %d, %Y')
AND
cast(entered_date_time as date) < STR_TO_DATE('Tuesday, October 02, 2012', '%W, %M %d, %Y')

另外请注意,我使用了 entered_date_time 字段,因为 date 是 MySQL 中的保留关键字。

【讨论】:

抱歉回复晚了,日期以 varchar 形式存储在数据库中,@Dan Maguire STR_TO_Date 函数在 C# 中不起作用,它向我显示错误。 @MoxetKhan - 这不是 C# 函数,我没有告诉你用 C# 调用它。让我们重新开始,这样我们就可以了解整个情况:您打算如何调用此查询?请向我们展示您已经尝试过的代码。 我的问题在查询之间解决了,我拿了 2 个 dt 选择器并运行查询。亲爱的,我不知道为什么我的名声一天比一天下降。

以上是关于SQL 日期格式 BETWEEN 查询的主要内容,如果未能解决你的问题,请参考以下文章

sql server 日期范围查询

【SQL语句】-范围查询

将日期时间转换为字符串格式并将其传递给查询

Oracle 日期的“BETWEEN”SQL 关键字——在 Oracle 中出现错误

4.有关日期格式属性改动常识,v$nls_parameters,between and,查询指定部门的员工信息,in和null,like模糊查询,order by后面能够跟:列名表达式别名序号

MySQL 用 BETWEEN AND 日期查询包含范围边界