You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite中基于时间比较的WHERE子句构建技术咨询

SQLite筛选提前注册用户的WHERE子句实现方案

针对你的需求,这里提供两种可行的实现方式,取决于registered at列的实际数据类型:

情况1:registered at是字符串格式(如YYYY-MM-DD HH:MM:SS)

如果该列是带日期的时间字符串,直接用SUBSTR函数提取时间部分(从第12位开始,跳过前面的日期和空格),再和vax start time列比较:

SELECT * 
FROM COREGAMasterDatabasePowerBI AS A 
JOIN COREGAScheduling15 AS B 
  ON soundex(A.Location) LIKE soundex(B.Site_Name) AND A.Visit_time = B.Date 
WHERE SUBSTR(A.`registered at`, 12) < B.`vax start time`
ORDER BY B.date ASC

情况2:registered at是SQLite原生datetime类型

如果该列已经是SQLite支持的日期时间类型,用TIME()函数直接提取时间部分进行比较即可:

SELECT * 
FROM COREGAMasterDatabasePowerBI AS A 
JOIN COREGAScheduling15 AS B 
  ON soundex(A.Location) LIKE soundex(B.Site_Name) AND A.Visit_time = B.Date 
WHERE TIME(A.`registered at`) < B.`vax start time`
ORDER BY B.date ASC

注意事项

  • 列名包含空格时,必须用反引号`包裹,避免SQL语法错误;
  • 不推荐用LIKE通配符做时间比较,因为通配符是字符串模糊匹配逻辑,无法精准处理时间的大小关系,用专门的字符串截取或时间函数更可靠。

内容的提问来源于stack exchange,提问作者shadow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:43:15