如何将datetime值插入SQLite数据库?

2024-04-25 07:11:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将datetime值插入SQLite数据库。似乎很成功,但当我尝试检索值时出现错误:

<Unable to read data>

SQL语句是:

create table myTable (name varchar(25), myDate DATETIME)
insert into myTable (name,mydate) Values ('fred','jan 1 2009 13:22:15')

Tags: toname数据库readsqlitesqldatadatetime
3条回答

您需要的格式是:

'2007-01-01 10:00:00'

即yyyy-MM-dd HH:MM:ss

但是,如果可能,请使用参数化查询,因为这样可以免除您对格式详细信息的担心。

在SQLite中存储日期的方法是:

 yyyy-mm-dd hh:mm:ss.xxxxxx

SQLite还有一些日期和时间函数可以使用。见SQL As Understood By SQLite, Date And Time Functions

为了能够使用STRFTIME函数插入日期字符串,必须更改所提供日期字符串的格式。原因是,没有月缩写的选项:

%d  day of month: 00
%f  fractional seconds: SS.SSS
%H  hour: 00-24
%j  day of year: 001-366
%J  Julian day number
%m  month: 01-12
%M  minute: 00-59
%s  seconds since 1970-01-01
%S  seconds: 00-59
%w  day of week 0-6 with sunday==0
%W  week of year: 00-53
%Y  year: 0000-9999
%%  % 

另一种方法是将日期/时间格式化为已接受的格式:

  1. 年-月-日
  2. 年-月-日时:分
  3. YYYY-MM-DD时:分:秒
  4. YYYY-MM-DD时:分:秒。秒
  5. 年-月-日:月
  6. YYYY-MM-DDTHH:MM:SS
  7. YYYY-MM-DDTHH:MM:SS.SSS
  8. 时:分
  9. 时:分:秒
  10. 时:分:秒。秒
  11. 现在

引用:SQLite Date & Time functions

相关问题 更多 >