Mysql的疑难杂症

在Java开发过程中遇到Mysql相关的一些内容,进行简单总结,与大家协同进化。

1、初始时间到最开始(Date)

Date DATE_NULL = new Date(0);
// 输出结果为:1970-01-01

2、初始时间到最开始(Timestamp)

Timestamp TIME_NULL = new Timestamp(0);
// 输出结果为:1970-01-01 08:00:00.0

3、分页查询应用

Mapper.xml

<select id="selectOfferListByPages" resultMap="OfferListByPageResultMap">
		SELECT
		*
		from t_vcar_offer
</select>

Dao层

List<OfferInfoListByPage> selectOfferListByPages(RowBounds rowBounds);

Service层

RowBounds rowBounds = new RowBounds(limit, pageSize);
List<OfferInfoListByPage> selectOfferListByPages = offerMapper.selectOfferListByPages(rowBounds);

打印出的sql语句:

SELECT * from t_vcar_offer LIMIT 0,8

4、复杂的case--when条件的使用

SELECT DISTINCT c.id, c.reg_mobile, offer.task_id, car.car_license_no, offer.task_state , 
MAX( CASE offer.task_state WHEN '14' THEN CASE WHEN quote_valid_time > NOW() THEN '2' ELSE '4' END -- 过期 
WHEN '20' THEN CASE WHEN pay_valid_time > NOW() THEN '3' ELSE '4' END -- 过期
WHEN '16' THEN '2' WHEN '19' THEN '2' WHEN '-99' THEN '2' WHEN '20' THEN '3' WHEN '51' THEN '3' WHEN '23' THEN '5' 
WHEN '25' THEN '5' WHEN '33' THEN '5' WHEN '-100' THEN '1' WHEN '-101' THEN '1' WHEN '13' THEN '1' WHEN '2' THEN '1' 
WHEN '30' THEN '1' WHEN '-120' THEN '6' WHEN '-102' THEN '1' ELSE offer.task_state END ) AS STATUS

5、Sql语句中防止< 与 >符号影响语义

from t_vcar_sys_notice where  is_active= 1 and now()<![CDATA[>=]]>start_time and now()<![CDATA[<=]]>end_time order by id desc

6、字段内容包含查询

<![CDATA[and instr(UPPER(t.message),UPPER(#{message})) > 0]]>

7、mysql的时间函数

select curdate() from dual;
// 输出:2009-12-25
select date_format(NOW(),'%Y-%m-%d') from dual;
// 输出:2009-12-25
select now() from dual;
// 输出:2018-06-04 11:12:00
select CURTIME() from dual;
// 输出:11:12:56

8、mysql中if用法

select if(sva=1,"男","女") as ssva from taname where id = '111' 类似于三元运算符
比如:IF(date(#{nowTime})=date(offer.updated_time),1, 0)

9、mysql中data_sub用法

DATE_SUB() 函数从日期减去指定的时间间隔。

语法
DATE_SUB(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
比如:Date_SUB(#{nowTime}, INTERVAL 1 DAY)

猜你喜欢

转载自blog.csdn.net/javashareauthor/article/details/81567781