首页 > 解决方案 > 关于在 python 或 SQL 中一次更改所有数据库项目的 SQLite 日期格式的方法的任何建议?

问题描述

当前数据库中的每个项目都使用日期格式 mm/dd/yyyy - 但是,要使用任何日期 sqlite 函数,我相信它必须类似于 YYYY-MM-DD。有一些变化,但基本上我需要年份优先和“-”而不是“/”。我试图想办法在一个循环中一次更改所有这些,可能在 python 中,但我被卡住了,因为当前格式根本不被识别为日期,即使数据类型是“DATE”。如果有人有类似的经历或有任何想法,从 sql 中提取,单独解析每个条目并在 python 中重新排列,然后发送回 sql(这听起来很痛苦),我将不胜感激!

标签: pythonsqlite

解决方案


它可以在 SQL 中完成:

sqlite> create table d (date);
sqlite> insert into d values ('12/31/2020');
sqlite> select * from d;
12/31/2020
sqlite> update d set date = substr(date,7,4) || '-' || substr(date,1,2) || '-' || substr(date,4,2);
sqlite> select * from d;
2020-12-31
sqlite> 

推荐阅读