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
<![CDATA[
BIRDAY >= #{startTime,jdbcType= DATETIME} AND BIRDAY < #{endTime,jdbcType= DATETIME}
]]
入參變爲”yyyy-MM-dd “
<![CDATA[
BIRDAY >= #{startTime,jdbcType=DATE} AND BIRDAY < #{endTime,jdbcType=DATE}
]]>
2.參數爲時間類型,數據庫字段爲String類型
<![CDATA[
CONVERT(DATETIME,BIRDAY, 20) >= #{startTime,jdbcType= DATETIME}
AND CONVERT(DATETIME,BIRDAY, 20) < #{endTime,jdbcType= DATETIME}
]]>
3.其他
3.1 <![CDATA[ ]]>:<![CDATA[ ]]>
是XML語法,在CDATA內部的所有內容都會被解析器忽略。如果寫的sql中有一些特殊的字符的話,在解析xml文件的時候會被轉義,如果我們不希望被轉義,使用<![CDATA[ ]]>來解決。
3.2 MySQL
STR_TO_DATE(str,format)時間格式的字符串(str),按照所提供的顯示格式(format)轉換爲DATETIME類型
DATE_FORMAT(date,format)日期轉換爲對應的字符串格式