c# - 使用 varchar 列查找 sql 中给定日期范围之间的记录

标签 c# sql string date

我遇到以下问题。我用 C# 编写了一个查询来获取订单日期:

QueryDate = string.Format("(Order.Begin>= '{0}' and Order.End<= '{1}')", BeginDate, EndDate);

问题是我的 SQL Server 表列“Begin”和“End”是 varchar 列,我想保持这种方式。例如,它们保存为“12-4-2012”。

现在我想获取“12-4-2012”和“19-4-2012”之间的日期。但结果是“12”和“19”之间的前 2 位数字。因此,结果还包括“14-8-2011”。

有没有办法使用字符串列仅检索“12-4-2012”和“19-4-2012”之间的日期?

最佳答案

我认为您可以将 Begin 和 Order 列转换为 DateTime 格式,如下所示:

QueryDate = string.Format("(convert(datetime, Order.Begin, 105) >= @startdate and convert(datetime, Order.End, 105)<= @enddate;"

然后添加@startdate和@enddae参数...

关于c# - 使用 varchar 列查找 sql 中给定日期范围之间的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11062195/

相关文章:

c# - 谁能告诉我如何格式化文本框的文本值

mysql - SQL - 如何从一个表中获取数据并将其插入到另一个表中

SQL Force 显示十进制值

java - 如何将带有小数点分隔符逗号和点的字符串解析为 Double

python - 条件 If 语句 : If value in row contains string . .. 设置另一列等于字符串

c - 为什么此代码会从 'char *' 错误分配到 'char'?

c# - 在javascript函数中使用asp.net的图像组件

c# - 错误CS0135 : 'Model' conflicts with the declaration 'System.Web.Mvc.ViewPage<TModel>.Model'

c# - 带有括号的 FROM 子句的查询中的语法错误(缺少运算符)

python - Django 中的原始 SQL 查询