填报提交提示列类型不匹配

数据库那边字段类型是datatime

if(isnull(sql("ms","select indate from qckh where man = '"  + C2 +"' and man = '" + E2 + "' and numbermark = '"+ E7 +"'",1),NOW()))

image.png

麻烦帮忙看下那里写的不对,这个栏位是建立日期,因为会有修改,我是想先sql判断这个栏位是否有值,如果没有值就是新增资料就把now()写进去,如果有值就是修改,建立日期不改

另外求if()和isnull()的用法介绍

FineReport 檬茶茶 发布于 2021-10-11 17:31
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
檬茶茶Lv4初级互助
发布于2021-10-12 10:26

if要两个值

最佳回答
0
让过去Lv6中级互助
发布于2021-10-11 17:41

image.png

IF公式好像写的有问题,正常应该是IF(判断条件,结果1,结果2),如果条件true就执行结果1,如果是false就执行结果2,你这边少了一个结果,ISNULL(字符串)的用法是,如果字符串为空,就返回true,如果不为空,返回false。一般公式都可以直接在这里查用法的

最佳回答
0
Moki_minLv5初级互助
发布于2021-10-11 18:05

if(isnull(sql("ms","select indate from qckh where man = '"  + C2 +"' and man = '" + E2 + "' and numbermark = '"+ E7 +"'",1)),NOW())

isnull是判断全部是否为空,true或者false,你的公式括号有点问题,改了一下

  • 檬茶茶 檬茶茶(提问者) 我改成你发的这个了,还是提示有问题
    2021-10-12 08:17 
  • 檬茶茶 檬茶茶(提问者) 我在if那里又加了个结果2 ,没问题了 if(isnull(sql(\"ms\",\"select indate from qckh where manno = \'\" + C2 +\"\' and manseq = \'\" + E2 + \"\' and numbermark = \'\"+ E7 +\"\'\",1)),NOW(),sql(\"ms\",\"select indate from qckh where manno = \'\" + C2 +\"\' and manseq = \'\" + E2 + \"\' and numbermark = \'\"+ E7 +\"\'\",1)) 但是这么写感觉好多,if一定得写两种结果吗,能再简写一些吗
    2021-10-12 08:22 
  • Moki_min Moki_min 回复 檬茶茶(提问者) if条件判断是否就是有两个结果,为true的时候一个结果,false的时候一个结果,如果false的结果可以为空,你就写“”,不然就得再加一个结果 SWITCH(isnull(sql(\"ms\",\"select indate from qckh where man = \'\" + C2 +\"\' and man = \'\" + E2 + \"\' and numbermark = \'\"+ E7 +\"\'\",1)),true,now()) 像这个,你可以只写true的结果,但为false的时候,由于没有结果匹配,所以就返回空了
    2021-10-12 10:33 
最佳回答
0
StudyYLLv6初级互助
发布于2021-10-12 08:59

if(isnull(sql("ms","select indate from qckh where man = '"  + C2 +"' and man = '" + E2 + "' and numbermark = '"+ E7 +"'",1)),now(),sql("ms","select indate from qckh where man = '"  + C2 +"' and man = '" + E2 + "' and numbermark = '"+ E7 +"'",1))

if的判断条件是isnull(),结果1true返回是now(),结果2false返回SQL查询

isnull是根据参数是否为null或空字符串 返回true或false

  • 3关注人数
  • 409浏览人数
  • 最后回答于:2021-10-12 10:26
    请选择关闭问题的原因
    确定 取消
    返回顶部