使用SQLite从特定月份获取记录

如何编写SQLite查询以选择特定月份的所有记录? 我的日期存储为 Unix时间戳</ strong>。 </ p>

如果需要,可在解决方案中使用PHP代码。 请与SQLite2兼容的查询。 :)</ p>
</ div>

展开原文

原文

How would I write a SQLite query to select all records from a specific month? My dates are stored as Unix timestamps.

PHP code is allowed in your solution if it's required. SQLite2-compatible queries only, please. :)

3个回答



如果你想要一个有效的查询,那么你应该使用BETWEEN:</ p>

  SELECT *

FROM表1
WHERE日期BETWEEN $ start AND $ end
</ code> </ pre>

其中 start </ code>和 end </ code>是unix 本月初和月末的时间戳。 这些可以使用 mktime 在PHP中计算并作为参数发送。</ p >
</ div>

展开原文

原文

If you want an efficient query then you should use BETWEEN:

SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end

Where start and end are the unix timestamps for the start of the month and the end of the month. These can be calculated in PHP using mktime and sent as parameters.

dtoaillwk759656786
dtoaillwk759656786 这是我的剧本。 修复了我的代码中的错误,它工作正常。 谢谢!
10 年多之前 回复
doupu7651
doupu7651 好吧,它不起作用,但我必须在这里责怪我的脚本,因为查询(和我的时间查找代码)似乎是正确的。
10 年多之前 回复



不计算月末的最后一天</ p>

  SELECT * 
FROM table
strhere时间('%Y-%m',日期(unix_timestamp,'unixepoch','localtime'))='2010-03'
</ code> </ pre>
</ div>

展开原文

原文

Without calculating last day in month

SELECT * 
  FROM table 
 WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'

douji7399
douji7399 我想选择具体的月份记录,这个脚本对我不起作用。
6 年多之前 回复



使用:</ p>

  SELECT * 
FROM TABLE
WHERE DATETIME(your_unix_timestamp_col ,'unixepoch')在YYYY-MM-DD之间
和YYYY-MM-DD
</ code> </ pre>

替换 YYYY-MM-DD </ code> 与你想要的日期。 有关其他支持的格式,请参阅参考页。</ p>

参考:</ p>

展开原文

原文

Use:

SELECT *
  FROM TABLE 
 WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD 
                                                          AND YYYY-MM-DD

Replace the YYYY-MM-DD with the dates you desire. See the reference page for other supported formats.

Reference:

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐