请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Mohan

初级会员

38

主题

94

帖子

294

积分

初级会员

积分
294
Mohan
初级会员   /  发表于:2025-10-30 15:39  /   查看:68  /  回复:2
1金币
我在执行SQL命令时,设置了两个入参,我想当参数为空时不生效,不为空时生效,SQL中处理如下:

测试时,这两个参数没有传入值:

执行时,默认给了null:

我在SQL中已经对null转为大写并判断处理,为什么还会报错无效的数据类型?默认传入的这个null到底是什么数据类型?是字符串还是其他什么类型
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

实在是没办法了,只能在调用前做一大堆判断了,保证入参不为空:

2 个回复

最佳答案
最佳答案
Mohan
初级会员   /  发表于:2025-10-30 15:39:48
来自 2#
实在是没办法了,只能在调用前做一大堆判断了,保证入参不为空:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2025-11-3 10:47:40
3#
大佬,参数可能为空的场景,简单的执行SQL命令场景是在SQL中使用IFNULL等函数使得该条件不生效,复杂一点的就是动态构建SQL或者业务层分支结构调用不同SQL语句,您现在的方法也没问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部