求帮忙改一句sql

select * from dbo.活动区间ITEM where time >= ${p1} and time <= ${p2}

P1是开始时间 P2是结束时间 用的是sqlserver 

time字段2022-04-15 14:30:55.723是这样的 怎么把left写进去 

callie 发布于 2022-4-15 17:11
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
圣体叶小凡Lv6高级互助
发布于2022-4-15 17:21

select * from dbo.活动区间ITEM where convert(varchar(10),time,120) >= '${p1}' and convert(varchar(10),time,120)<= '${p2}'

其中你的p1 p2 传的是2022-04-15这种的值

最佳回答
1
助人为乐Lv4中级互助
发布于2022-4-15 17:12(编辑于 2022-4-15 17:13)

你是写在帆软数据集里面还是单存的sql,如果是帆软。你日期控件的格式是什么、

${if(p_creation_date_begin = "","","and a.creation_year_month >= '" +  left(p_creation_date_begin,7) + "'")}

  • callie callie(提问者) FINEREPORT的
    2022-04-15 17:13 
  • 助人为乐 助人为乐 回复 callie(提问者) 日期控件的格式是什么、
    2022-04-15 17:14 
  • callie callie(提问者) 回复 助人为乐 2022-04-11
    2022-04-15 17:18 
  • 助人为乐 助人为乐 回复 callie(提问者) ${if(p1= \"\",\"\",\"and time>= \'\" + left(p1,10) + \"\'\")} ${if(p2 = \"\",\"\",\"and time < \'\" + left(p2,10) + \"\'\")}
    2022-04-15 17:20 
  • callie callie(提问者) 回复 助人为乐 可以把完整的sql查询帮我写一下嘛谢谢 我不太会这个 我自己改改不出来
    2022-04-15 17:23 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-4-15 17:14(编辑于 2022-4-15 17:20)

不是给你DATEPART() 函数么??

select * from dbo.活动区间ITEM where convert(nvarchar(10),year,120) >= '${p1}' and convert(nvarchar(10),year,120)  <= '${p2}'

-------晕 认错人了

最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-15 17:25(编辑于 2022-4-15 17:28)

select * 

from dbo.活动区间ITEM 

where time >= '${p1}' 

and time <= '${CONCATENATE(p2," 23:59:59.9999")}'

这样就行了

image.png

  • 4关注人数
  • 441浏览人数
  • 最后回答于:2022-4-15 17:28
    请选择关闭问题的原因
    确定 取消
    返回顶部