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
要回答你的第一个问题(将字符串转换为日期),答案是"它取决于".由于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