1

有一个下表:

CREATE TABLE `foo`(
  `year` INT NOT NULL,
  `month` INT NOT NULL,
  `day` INT NOT NULL,
  `hour` INT NOT NULL,
  `minute` INT NOT NULL,
  `value` INT NOT NULL,
  PRIMARY KEY(`year`, `month`, `day`, `hour`, `minute`)
);

如何在 SQLite 中选择所有星期一的记录?

4

1 回答 1

2
  1. 将日期转换为SQLite 可以理解的格式,这需要用零填充到所需的四/两位字段宽度才能得到YYYY-MM-DD
  2. 然后只需使用strftime('%w')获取工作日:
SELECT *
FROM foo
WHERE strftime('%w',
               substr('000' || year,  -4) || '-' ||
               substr('0'   || month, -2) || '-' ||
               substr('0'   || day,   -2)           ) = '1'
于 2012-10-21T18:28:32.937 回答