永洪报表传参的方式

SQl中的参数

假设有个参数名为a的参数,可以以如下形式用在SQL中。

1. 直接?{a}形式

如where city=?{a},参数必须传值

此语句是直接用参数值替换"?{a}“的字符。如果a=北京,就替换成"where city=北京”。因此,a不能是空值,否则"where city="的语句就非法了。

2. 中包含?{x}形式

例如where city=?{x},参数可以不传值

此语句用来标注此条where语句的起始位置,<></>里的内容要和参数的名字一样,要成对出现,不可嵌套使用。当x是空值的时候,会自动把此标签之内的语句删除,这个例子里where语句被删除,因此允许x为空。一般使用如下:

select * from coffee where 1=1 and market in ?{m}

select * from coffee where market like ?{m}

➢例如:

select * from coffee where 1=1 and market in ?{m},当m为空值的时候,则执行SQL:例如select * from coffee where 1=1;

select * from coffee where market like ?{m},当m为空值的时候,则执行SQL:select * from coffee;

如果需要进行模糊查询,注意需要把模糊查询的匹配字符放在参数中,不能将参数写在引号内,如select * from coffee where market like ?{m},然后在m中的值传入%market%,则执行SQL:select * from coffee where market like ‘%market%’。

3. ?{@a},内嵌参数形式

这种内嵌的参数将被直接在SQL Statement中替换为参数值,而不是调用prepared statement.setParam(),这种办法有更高的灵活性,例如可以不要select而是将select子句作为参数传入, 或者将表名作为参数,如 select * from ?{@a}, a可以是任意输入的table name。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlyLolo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值