sql - SQL 查询(SQL 服务器)的 Between 子句不起作用?

标签 sql sql-server excel

我遇到一个问题,我有一个简单的 sql 查询,如下所示:

Select 
    Ah_editime as todaysdate,
    (CONVERT(VARCHAR(25), DATEADD(dd, -(DAY(GETDATE()) - 1), GETDATE()), 103)) AS monthstartdate,
    (CONVERT(VARCHAR(10), CAST(GETDATE() AS DATE), 103)) AS monthcurrentdate
from 
    Transaction
where 
    Ah_editime BETWEEN (CONVERT(VARCHAR(25), DATEADD(dd, -(DAY(GETDATE()) - 1), GETDATE()), 103)) 
               AND (CONVERT(VARCHAR(10), CAST(GETDATE() AS DATE), 103))

我只想显示当前月份至今的结果。但我面临的问题是我也得到了上个月的值,这会产生问题。我有一份显示值的报告。

report

在这里,如果您看到我正在获取所有值,但我只想要当月的值。

P.S:这可能是格式问题吗?正在显示的 todaysdate 这是我的实际值。

最佳答案

应在查询中按如下方式修改

Date 格式。使用 101 代替 103。

BETWEEN (CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GETDATE())-1),GETDATE()),101)) AND (CONVERT(VARCHAR(10), CAST(GETDATE() AS DATE),101)) 

关于sql - SQL 查询(SQL 服务器)的 Between 子句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28424646/

相关文章:

mysql - SQL:从同一个表中选择列

sql - 在 SQL Server 的单个更新查询中使用两个以上的 where 子句

sql-server - SQL Server 2016 选择 json 数组中的位置

SQL:从表中选择一行,其中包含该列的下一个值的附加列

MySQL选择几个合作伙伴聚合数据的时间序列来绘制图表

c# - 使用动态列名称更新 Dapper

sql-server - 如何在SQL Server中生成十个绝对随机数字?

excel公式将分钟转换为百分之一

python - 使用 openpyxl 查找隐藏的单元格

excel - 在 Haskell 中从 Excel 读取数据