mybatis中sql字符串拼接 如何截取中间字符串?
如何截取中间字符串?
最怕这种不描述清楚场景的问题,只有尝试答一下。
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日期和字符串比较
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。