如何将SQL语句转换为SQLite语句?
如何将此SELECT语句转换为SQLite语句如何将SQL语句转换为SQLite语句?,sql,sqlite,Sql,Sqlite,如何将此SELECT语句转换为SQLite语句 SELECT count(`listId`) AS countP, DATE_FORMAT( DATE_ADD(DATE_FORMAT(timestamp, '%Y-%m-%d %H:00:00'), INTERVAL IF( MINUTE( timestamp )<30, 0, 1) HOUR), '%H:30') AS hourP FROM `polldata`
SELECT count(`listId`) AS countP,
DATE_FORMAT( DATE_ADD(DATE_FORMAT(timestamp, '%Y-%m-%d %H:00:00'),
INTERVAL IF( MINUTE( timestamp )<30, 0, 1) HOUR), '%H:30') AS hourP
FROM `polldata`
WHERE `gcId`=01
AND `listId`=02
GROUP BY hourP
ORDER BY hourP
LIMIT 0, 30
选择count(`listId`)作为countP,
日期格式(日期添加(日期格式(时间戳,%Y-%m-%d%H:00:00)),
如果(分钟(时间戳)您希望获取一个现有的MySQL文件并将其转换为与之等价的SQLLite,则为INTERVAL
此过程分为两部分:
1.将DDL从一个SQL数据库转换为另一个SQL数据库(DDL==“数据定义语言”)
2.将数据从一个模式迁移到另一个模式
每个SQL供应商都从ANSI SQL开始,并添加自己的专有语法。因此,您必须从MySQL定义创建SQLLite模式(表、列、索引等)
数据迁移过程称为ETL(“提取-转换-加载”)。您可能需要将MySQL中的一些数据转换为SQLLite
最好的方案是将MySQL数据导出到.csv文件中,在SQLLite中创建表,然后导入.csv文件
参考这里
SQLite没有本机时间戳类型。
假设时间戳存储为yyyy-mm-dd hh:mm:ss
字符串,查询如下所示:
SELECT count(`listId`) AS countP,
strftime('%H:30',
timestamp,
CASE WHEN substr(timestamp, 15, 2) < '30'
THEN '1 hours'
ELSE '0 hours'
END) as hourP
FROM `polldata`
WHERE `gcId`=01
AND `listId`=02
GROUP BY hourP
ORDER BY hourP
LIMIT 0, 30
选择count(`listId`)作为countP,
strftime(“%H:30”,
时间戳,
substr(时间戳15,2)<'30'时的情况
然后是“1小时”
其他“0小时”
(完)
从'polldata'开始
其中`gcId`=01
和'listId`=02
按小时分组
按小时订购
限制0,30
通过使用sqlite语法……这时您可以参考sqlite手册。您可以从删除所有这些backtick开始。为什么您认为它在sqlite中不起作用?