Sql语句问题

两个条件:今年的数据, 同一个表中ApprovalLevel=2 的数据。我想问这个今年的数据怎么筛?

SELECT * FROM dbo.[DailyReport] where ApprovalLevel=2 and  ReportDate=???

FineReport 故事的小黄瓜 发布于 2018-11-21 17:40
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
zsh331Lv8专家互助
发布于2018-11-21 17:43(编辑于 2018-11-21 18:02)

ReportDate字段,数据格式是什么?


如果是标准的yyyy-MM-dd日期格式,参考MySQL数据库语法: 

SELECT * FROM dbo.[DailyReport] where ApprovalLevel=2 and  DATE_FORMAT(ReportDate,'%Y')=DATE_FORMAT(NOW(),'%Y')

其它数据库,适当修改函数即可...


SELECT * FROM dbo.[DailyReport] where ApprovalLevel=2 and format(ReportDate,'yyyy') = format(GETDATE(),'yyyy')



或 SELECT * FROM dbo.[DailyReport] where ApprovalLevel=2 and CONVERT(varchar(4), ReportDate, 23) = CONVERT(varchar(4), GETDATE(), 23) 方法很多,灵活运用

最佳回答
0
axingLv6专家互助
发布于2018-11-21 17:48(编辑于 2018-11-21 17:58)

convert(varchar(10),ReportDate,23)='2018-11-21'

  • 3关注人数
  • 507浏览人数
  • 最后回答于:2018-11-21 18:02
    请选择关闭问题的原因
    确定 取消
    返回顶部