我想在查询中重复 LIKE 模式 7 次。

SELECT count(displayName),
AS nbDisplayNameDefaut
FROM users
WHERE displayName LIKE 'user[0123456789]'

此查询返回所有显示名称,如 userX,但我希望有七个时间数字来显示名称,如 userXXXXXXX(X 是数字)

如果我这样做,我认为这个查询没有优化:
LIKE 'user[0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789]'

我在 SQL-Server 文档中没有找到该选项

最佳答案

SQL Server LIKE 支持范围模式,因此您可以对单个十进制数字使用 [0-9] 而不是 [01234567899]。可以根据更简洁的表达式所需的位数复制此模式:

LIKE 'user' + REPLICATE('[0-9]', 7)

关于sql-server - 如何重复 LIKE 模式 'n' 次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41198172/

10-10 05:19