SQLserver数据库,写查询,datetime类型,此处应该怎么写

SELECT * FROM [dbo].[仓库退货信息] where 1=1

${if(len(Vendor) == 0,"","and Vendor in ('" + Vendor + "')")}

${if(len(QC Reject Date) == 0,"","and QC Reject Date in ('" + QC Reject Date + "')")}

FineReport 王多鱼 发布于 2021-6-2 16:08
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
Z4u3z1Lv6专家互助
发布于2021-6-2 16:14(编辑于 2021-6-2 16:20)

image.png

QC Reject Date是你日期控件的控件名?它的格式是什么?

image.png

如果控件格式是yyyy-MM-dd

则SQL改为

${if(len(QC Reject Date) == 0,"","and CONVERT(NVARCHAR(10),QC Reject Date,120) in ('" + QC Reject Date + "')")}

  • 王多鱼 王多鱼(提问者) 这个参数都出不来
    2021-06-02 16:17 
  • 王多鱼 王多鱼(提问者) 这是SQL server数据库,我在模版数据集里面写 ${if(len(QC Reject Date) == 0,\"\",\"and QC Reject Date in (\'\" + QC Reject Date + \"\')\")} 这是不选默认查所有的公式 这样写直接参数都没有
    2021-06-02 16:18 
  • Z4u3z1 Z4u3z1 回复 王多鱼(提问者) 看第一张图,重新上传了一张图.把空格干掉
    2021-06-02 16:21 
  • 王多鱼 王多鱼(提问者) 好了
    2021-06-02 16:24 
  • 王多鱼 王多鱼(提问者) Vendor,这个字段,下拉框勾选,只能查询到英文的,中文的查不出来
    2021-06-02 16:27 
最佳回答
0
liu.yangLv2初级互助
发布于2021-6-2 16:13(编辑于 2021-6-2 16:14)

把日期字段处理成  字符型  CONVERT(varchar(100), GETDATE(), 23)

https://blog.csdn.net/fantaxy025025/article/details/83773964

  • 王多鱼 王多鱼(提问者) 这是在模版数据集里写的,你发网上的SQL教程给我有什么用
    2021-06-02 16:16 
  • liu.yang liu.yang 回复 王多鱼(提问者) select * from ( SELECT CONVERT(varchar(100), QC Reject Date, 23) as rq, * FROM [dbo].[仓库退货信息] )tt where 1=1 ${if(len(Vendor) == 0,\"\",\"and Vendor in (\'\" + Vendor + \"\')\")} ${if(len(QC Reject Date) == 0,\"\",\"and rq in (\'\" + QC Reject Date + \"\')\")}
    2021-06-02 16:21 
  • liu.yang liu.yang 回复 王多鱼(提问者) 可以先处理下日期字段,然后再外面再用处理完的日期字段作筛选
    2021-06-02 16:22 
最佳回答
0
luojian0323Lv7资深互助
发布于2021-6-2 16:14

如果日期参数不是带时间的日期,假如日期格式是:yyyy-MM-dd

${if(len(QC Reject Date) == 0,"","and left(QC Reject Date,10) in ('" + QC Reject Date + "')")}

  • 王多鱼 王多鱼(提问者) 没用
    2021-06-02 16:16 
  • luojian0323 luojian0323 回复 王多鱼(提问者) 你的字段名就叫:QC Reject Date? left(QC Reject Date,10)就是截取前10位:yyyy-MM-dd 刚好10位 或者: ${if(len(QC Reject Date) == 0,\"\",\"and left(QC Reject Date,10) =\'\" + QC Reject Date + \"\'\")}
    2021-06-02 16:23 
  • 3关注人数
  • 482浏览人数
  • 最后回答于:2021-6-2 16:20
    请选择关闭问题的原因
    确定 取消
    返回顶部