我有一个包含文本的SQLite表,但是一些文本行包含一个日期(MM/DD
或MM/DD/YY
格式)是否有办法删除包含日期的所有行已经过去了? (对于MM/DD
格式,我假设2015年为年。)
我不确定SQL是否可以捕获正则表达式然后将其与当前日期进行比较
答案 0 :(得分:1)
嗯,这需要结合SQLite的几个方面。
delete t from t
where (case when text glob '[0-9][0-9]/[0-9][0-9]/[0-9][0-9]'
then replace(text, '/', '-')
when text glob '[0-9][0-9]/[0-9][0-9]'
then strftime(date('now'), '%Y') || '-' || substr(text, 1, 2) || '-' || substr(text, 4, 2)
end) < strftime(date('now'), '%Y-%m-%d')