SQLite子查询substr参数

时间:2014-03-07 09:27:38

标签: sqlite android-sqlite

我想使用子查询来计算length substr的{​​{1}}参数,但我收到的错误如下:

android.database.sqlite.SQLiteException: near "SELECT": syntax error (code 1)

目前我在那里使用虚拟SELECT,但它仍然失败。

SELECT substr(names, 0, SELECT ifnull(15, 0)) AS names from table

2 个答案:

答案 0 :(得分:1)

子查询必须括在括号中:

SELECT substr(names, 0, (SELECT ifnull(15, 0))) AS names FROM MyTable

答案 1 :(得分:0)

您的查询不正确,您无法以这种方式使用select ifnull(...。 (子查询必须用圆括号包围,即: (select ifnull(...))但仍然是错误的,因为ifnull(15,0)将始终返回15 ,ifnull接受2个参数并返回第一个不为null的参数。

只需使用SELECT substr(names, 0, 15) AS names from table

即可

如果您不想要空值: SELECT substr(ifnull(names,'some text when null'), 0, 15) AS names from table