Mybatis中oracle、mysql、db2、sql server的like模糊查询 及Oracle对时间得处理

来源:互联网 发布:java微信发送客服消息 编辑:程序博客网 时间:2024/05/16 12:53
  1. <!-- oracle -->  
  2. <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">  
  3.   select * from t_user where user_name like CONCAT('%',#{search_name},'%')  
  4. </select>  
  5. <!-- 或者 -->  
  6. <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">  
  7.   select * from t_user where user_name like '%'||#{search_name}||'%'   
  8. </select>  
  9.   
  10. <!-- mysql -->  
  11. <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">  
  12.   select * from t_user where user_name like CONCAT('%',#{search_name},'%')  
  13. </select>  
  14.     
  15. <!-- sql server -->  
  16. <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">  
  17.   select * from t_user where user_name like '%'+#{search_name}+'%'  
  18. </select>  
  19.   
  20. <!-- db2 -->  
  21. <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">  
  22.   select * from t_user where user_name like CONCAT('%',#{search_name},'%')    
  23. </select>  
  24. <!-- 或者 -->  
  25. <select id="searchUserBySearchName" parameterType="java.lang.String" resultType="com.urm.entity.User">  
  26.   select * from t_user where user_name like '%'||#{search_name}||'%'   
  27. </select> 


22222222222222222222222222222222222222222222

第一种1 <if test="AGTNAM !=null and AGTNAM !=''">2       <![CDATA[and AGTNAM like concat(concat('%',#{AGTNAM}),'%'))]]>3 </if>
复制代码
第二种 1 <select id="selectUserByName" parameterType="string" resultType="user">2        select * from user where username like '%${value}%'3 </select>备注:${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value,使用${}不能防止sql注入,但是有时用${}会非常方便
复制代码

 日期的处理 

1,数据库里存的是date 使用 insert 语句

1
insert into mytest_t values(1,'张三',to_date('2011-09-09','yyyy-MM-dd'))
1
insert into mytest_t values(1,'张三',to_date('20110909','yyyyMMdd'))

2,数据库里面存的时varchar2  直接插入

insert into mytest_t values(1,'zhangdan','2011-09-09')

3,查询 ,数据库存的是varchar2

日期输出的格式是由 to_char 决定的select to_char(to_date(birthday01,'yyyy-mm-dd'),'yyyy-MM-dd') from MYTEST_T     输出是:yyyy-MM-ddselect to_char(to_date(birthday01,'yyyy-mm-dd'),'yyyyMMdd') from MYTEST_T       输出是:yyyyMMdd

4,查询 ,数据库存的是date

1
2
select to_char(birthday,'yyyy-MM-dd')from MYTEST_T             格式 是由to_char 决定的
select to_char(birthday,'yyyyMMdd')from MYTEST_T

 5,   

1
2
3
4
5
6
7
select to_char(sysdate,'yyyy-MM-dd hh24:mi:ss')as nowTime from dual;   //日期转化为字符串 
select to_char(sysdate,'yyyy'as myyear   from mytest;   //获取时间的年 
select to_char(sysdate,'mm')   as myMonth  from mytest;   //获取时间的月 
select to_char(sysdate,'dd')   as myDay    from mytest;   //获取时间的日 
select to_char(sysdate,'hh24'as myHour   from mytest;   //获取时间的时 
select to_char(sysdate,'mi')   as myMinute from mytest;   //获取时间的分 
select to_char(sysdate,'ss')   as mySecond from mytest;   //获取时间的秒

阅读全文
0 0
原创粉丝点击