我遇到以下问题。我用 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/