mysql中的substr()函數和hibernate的substr()參數都一樣,就是含義有所不同。
用法:
substr(string string,num start,num length);
string為字符串;
start為起始位置;
length為長度。
區別:
mysql中的start是從1開始的,而hibernate中的start是從0開始的。
最常用在時間時間搜索上如
2016-09-01 19:02:19到2016-09-20 19:02:19
想搜索當天的如1號到1號的就要寫成
if (sdate != null && !"".equals(sdate)) {
sql += " and substr(" + timetype + ",1,10)>='" + sdate + "'";
}
if (edate != null && !"".equals(edate)) {
sql += " and substr(" + timetype + ",1,10)<='" + edate + "'";
}
這里timetype 代表按什么方式搜並且取值為1到10位sdate為開始時間edate為結束時間數據庫中的時間為2016-09-01 19:02:19我們現在只需要前面10位如果不這樣你無法搜索當天的數據如14號當天的數據