我有一组数据正在导入SqlLite,但在插入之前并没有真正有机会对其进行操作。我正在努力计算"年龄"约会,但这在目前的格式中证明是非常困难的。
我正在寻找一个可以用来更新数据的选择,然后开始按照我想要的方式编写查询。
Data Samples
9/20/1983
2/18/1986
8/1/1994
5/29/1999
Desired
1983-09-20
1986-02-18
1994-08-01
1999-05-29
一旦我获得该格式的数据,我将使用以下
计算日期 (strftime('%Y', 'now') - strftime('%Y', Born)) - (strftime('%m-%d', 'now') < strftime('%m-%d', BOrn))
我想如果有一种方法可以将日期转换为正确的格式和在一个查询中计算年龄,那将节省一步,但我还没有能够找到目前为止的方法。
答案 0 :(得分:1)
您可以使用以下update
语句将日期格式更改为YYYY-MM-DD:
update t
set Born =
substr(Born, -4) || '-' ||
substr('0' || substr(Born, 1, instr(Born, '/')-1), -2) || '-' ||
substr('0' || substr(Born, instr(Born, '/')+1,
length(Born)-5-instr(Born, '/')), -2)
where substr(Born, -5, 1) = '/'
and Born LIKE '%/%/%'
where
条款仅用于更新 d / m / yyyy 格式的日期,其中 d 和 m 也可能是两位数。