我想使用子查询来计算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
答案 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