2016 - 2024

感恩一路有你

mybatis中sql字符串拼接 如何截取中间字符串?

浏览量:2236 时间:2021-03-12 12:40:18 作者:admin

如何截取中间字符串?

最怕这种不描述清楚场景的问题,只有尝试答一下。

1、假如是数据库应用,以Oracle为例,用substr来截取子字符串。

语法为:substr(字段名,截取字符串的开始位置,截取子串长度)

实例如下:

数据库里有张人员表,人员的出生日期字段是按“yyyy-mm-dd”格式保存生日信息的,现要提取每个人的出生月份,就可以写成

select substr(出生日期字段,6,2) from 人员表

2、假如是编程应用,以C#为例,用Substring来截取子字符串。

语法为Substring(被截取变量名,截取字符串的开始位置,截取子串长度)

实例如下:

string str = "hellow word!"

string ss = str.Substring(4,2)

截取结果为"ow"。

mybatis取传进来的参数mybatis#{}${}区别是啥?

#{} : 表示一个占位符

${} : 表示字符拼接 , 会引起sql注入风险, 不推荐大家使用

演示:name 的值为 zhangsan

select * from user where name = #{name}

select * from user where name = ${name}

但是 #{} 和 ${} 在预编译中的处理是不一样的。#{} 在预处理时,会把参数部分用一个占位符 ? 代替,变成如下的 sql 语句:

select * from user where name = ?

而 ${} 则只是简单的字符串替换,在动态解析阶段,该 sql 语句会被解析成

select * from user where name = "zhangsan"

mybatis中sql字符串拼接 动态截取定义 mybatis日期和字符串比较

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。