我试图搜索一个正好是4位数的ID,我知道我需要使用LENGTH()字符串函数,但找不到如何使用它的示例.我正在try 下面的(和其他变体),但它们不起作用.

SELECT max(car_id) as max_id 
FROM `myBucket` 
WHERE type = 'car' 
AND car_id LIKE '28%'
AND LENGTH(max(car_id)) = 4

如果这很重要,我想做的是找到最大的车号,它只有4个以给定前缀开头的数字.所以2899会起作用,但28990不会.这适用于使用N1QL查询的Couchbase数据库.

推荐答案

MAX是聚合的.聚合不能在谓词中使用,如果不插入子查询

SELECT max(car_id) as max_id 
FROM `myBucket` 
WHERE type = 'car' 
AND car_id LIKE '28%'
AND LENGTH(car_id) = 4;

Database相关问答推荐

无法向 SiriDB 添加新副本

数据库 struct 建议

实体关系图. IS A 关系如何转换为table表?

在不稳定的网络中保持分布式数据库同步

PostgreSQL - 按时间戳值分组?

使用 SQLAlchemy Core 批量插入列表值

在 postgresql 中将列从字符串更改为字符串数组

当使用多个 WHEN MATCHED 语句时,它们是全部执行,还是只执行一个?

从 activerecord 获取索引哈希

PHP + SQL Server - 如何设置连接字符集?

使用 JSON 作为存储/传输格式的数据库

什么是数据仓库?

在 SQL Server 中,如何以类似于 Oracle 的SELECT FOR UPDATE WAIT的方式锁定单行?

如何从 T-SQL 中的表中 Select 前 N 行?

寻找示例数据库设计的好方法

省略日期中的毫秒数

QSqlDatabase & QSqlQuery 的正确方法是什么?

ORM 还是Vietnam of Computer Science吗?

使用带有联合和 CLOB 字段的 Select 时出现错误 ORA-00932

MySQL:为什么使用 VARCHAR(20) 而不是 VARCHAR(255)?