将MySQL查询转换为Sqlite(SUBSTRING_INDEX)

时间:2013-04-23 19:51:25

标签: c# mysql sqlite substring

我正在开发一个C#项目,它有一个库来执行各种项目中的常见任务。

我在库中有一个函数,它从表中获取警报列表。此查询在MySQL中完成,但我现在需要与SQLite数据库相同的功能。

以下是我尝试从MySQL移植到Sqlite的查询。

SELECT id, min(date) as min_date, max(date) as max_date, type, partMsg, level, page, COUNT(partMsg) AS msgCount FROM (SELECT id, date, type, SUBSTRING_INDEX(message, ':', 1) AS partMsg, level, page FROM alarms a WHERE acknowledged='0') p GROUP BY partMsg

当我在Sqlite数据库上运行此查询时,它会抛出一个异常,指出SUBSTRING_INDEX不是一个有效的函数。 SQLite是否有一个与此相同的替代函数。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

尝试:

SELECT id, min(date) as min_date, max(date) as max_date, type, partMsg, level, page, COUNT(partMsg) AS msgCount FROM (SELECT id, date, type, substr(message, ':', 1) AS partMsg, level, page FROM alarms a WHERE acknowledged='0') p GROUP BY partMsg