|
最佳回答 |
1
|
张洪威Lv6高级互助发布于2020-8-10 15:49
|
testdate between to_date(${if(len(开始日期)=0,year(结束日期)+"-01-01",开始日期)},'yyyy-mm-dd') and to_date('${结束日期}','yyyy-mm-dd')
|
|
|
|
最佳回答 |
0
|
ColdmanLv6高级互助发布于2020-8-10 15:47
|
使用case when来判断开始日期字段,如果为空,截取结束日期年份拼接“-01-01”
|
-
lincoder(提问者)
- 你好,我完善了下,具体的可以写一下吗?
-
Coldman 回复 lincoder(提问者)
- 你是参数传递的话这么写to_date(${IF(LEN(开始日期) = 0,substr(\'${结束日期}\',1,4)||\'-01-01\',开始日期)},\'yyyy-mm-dd\') and to_date(\'${结束日期}\',\'yyyy-mm-dd\')
注意字段格式就行
|
|
|
最佳回答 |
0
|
zjc@Lv3初级互助发布于2020-8-10 16:07
|
一看你的sql应该是oracle数据库,这么写 testdate between to_date(${IF(LEN(开始日期) == 0,SUBSTR('${结束日期}',1,5)||'01-01',开始日期)},'yyyy-mm-dd') and to_date('${结束日期}','yyyy-mm-dd')
|
-
lincoder(提问者)
- 预览报错
-
zjc@ 回复 lincoder(提问者)
- 我这么写也报错吗?如果报错的话可能是你设置的参数返回值格式和sql中不对应,你看着设置对应一致
|
|
|
最佳回答 |
0
|
axingLv6专家互助发布于2020-8-10 21:29
|
testdate between to_date('${IF(LEN(开始日期)=0,DATEINMONTH(结束日期,1),开始日期)}','yyyy-mm-dd') and to_date('${结束日期}','yyyy-mm-dd')
|
|
|