搜索距現在六個月前的月份第一天日期:
SELECT date('now','start of month','-6 month','0 day');
搜索距現在六個月前的日期:
SELECT date('now','-6 month','0 day');
case when 用法:
栗子:
select case when a = "1" then "v" end from table;
or
select case a when "1" then "v" end from table;
記住一定要用end包住條件,對一個字段套多個case when語句只能執行一次,比如這樣:
select case when name like "%a%" then replace(name,'a','A')
when name like "%b%" then replace(name,'b','B')
when name like "%c%" then replace(name,'c','C')
else name end as SB ,*
from table;
這個語句的目的是對name字段進行部分替換,他只能替換a,b,c中的一個
如果如要全部替換需要套很多個replace()
select replace(replace(replace(name,"a",A),"b","B"),"c","C") from table;
很麻煩,而且數據量大的情況下執行效率很低
日期加減用julianday():
select julianday('now') - julianday('1776-07-04');