postgresql - LIKE 表达式未返回预期结果。问题还是缺乏理解?(可能是后者)
问题描述
使用 LIKE '%[0-9]%' 找到“黄色 2 x 4 盘子”。这是一个简化的示例,我认为它不能正常工作。
具有单列(commandtext、varchar)的表(命令)。命令文本中的单个条目:黄色 2 x 4 板。
SELECT
*
FROM command
WHERE commandtext LIKE '%[0-9]%'
结果 = 空集。
我希望所有这一切都应该是一个 0-9 之间的数字,周围是其他任何东西。
我显然在这里没有得到任何东西......
解决方案
正如您所发现的,您可以使用 SQL 标准SIMILAR TO
:
... WHERE col SIMILAR TO '%[[:digit:]]%'
您还可以使用 POSIX 正则表达式:
... WHERE col ~ '[[:digit:]]'
推荐阅读
- python - 如何在 pandas DataFrame 中添加 * 或 * 更新列?
- java - Visual Studio Code 对 Derby 数据库的 JDBC 访问
- elasticsearch - 批量加载:确保完成所有 BulkProcessor 作业(Java 客户端 API)
- c# - 在 ContentDialog 中按一个键
- hibernate - 如何从spring数据或休眠中调用oracle程序
- android - 在 Android 中以编程方式更改语言不适用于从 App 包格式生成的 APK
- python - 如何检测电报机器人中的命令(在python中)
- java - GC(分配失败)[PSYoungGen]
- netlogo - Netlogo - 使用网络外的海龟更新外链
- python - ImportError 动态模块没有定义初始化函数(boost.python)