SQLite查询问题

Biz*_*pps 6 sql sqlite

2个问题:

首先,在MSSQL中,我可以通过执行将nvarchar转换为datetime

cast('5/31/2011 12:00:00 AM' as datetime) as convertedtodate
Run Code Online (Sandbox Code Playgroud)

结果:2011-05-31 00:00:00.000

我怎么在SQLite中做到这一点?

第二,什么是MS SQL datediff在sqlite上的功能?例如:

datediff(Day,'5/30/2011 12:00:00 AM','5/31/2011 12:00:00 AM') as DateAge  
Run Code Online (Sandbox Code Playgroud)

结果:1

IAm*_*rey 5

要回答你的第一个问题(将字符串转换为日期),答案是"它取决于".由于SQLite没有特定的日期字段,您可能不需要转换它.您可以将它存储在字符串字段中(选项是sting,real或int用于日期存储).如果要将字符串转换为int(这是自1970-01-01以来的秒数),您将使用如下strftime方法:

strftime('%s','2011-05-12 01:03:00')
Run Code Online (Sandbox Code Playgroud)

至于问题的第二部分(两个日期之间的差异),您将在SQLite中使用以下代码:

strftime('%s','2011-05-12 01:03:00') - strftime('%s','2011-05-08 11:54:09')
Run Code Online (Sandbox Code Playgroud)

这将为您提供两个日期之间的秒数.您可以使用这些信息以及更多信息,从SQLite中获取您正在寻找的信息.以下是一些可以帮助您的资源:

http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions

http://www.sqlite.org/datatype3.html