SqlServer时间与字符串相互转换: SQL Server Date 函数
CONVERT(目标类型,'输入内容'[时间/字符串],格式);
字符串转为时间类型
CONVERT(datetime,‘2017-12-12 00:00:01’, 20)
日期转换为字符串
CONVERT(varchar(100), GETDATE(), 20)
1.参数为时间类型,数据库字段为时间类型
直接比较
![CDATA[
BIRDAY >= #{startTime} AND BIRDAY < #{endTime}
]]>
入参变为”yyyy-MM-dd HH:mm:ss'“,如果什么都不加的话,默认是timestamp
BIRDAY >= #{startTime,jdbcType= DATETIME} AND BIRDAY < #{endTime,jdbcType= DATETIME}
]]
入参变为”yyyy-MM-dd “
BIRDAY >= #{startTime,jdbcType=DATE} AND BIRDAY < #{endTime,jdbcType=DATE}
]]>
2.参数为时间类型,数据库字段为String类型
CONVERT(DATETIME,BIRDAY, 20) >= #{startTime,jdbcType= DATETIME}
AND CONVERT(DATETIME,BIRDAY, 20) < #{endTime,jdbcType= DATETIME}
]]>
3.其他
3.1 :
是XML语法,在CDATA内部的所有内容都会被解析器忽略。如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,如果我们不希望被转义,使用来解决。
3.2 MySQL
STR_TO_DATE(str,format)时间格式的字符串(str),按照所提供的显示格式(format)转换为DATETIME类型
DATE_FORMAT(date,format)日期转换为对应的字符串格式