sql - 带有特殊字符的 Oracle 文本搜索
问题描述
我的索引如下;
create index cidx_column1 on MY_TABLE(column1) indextype is ctxsys.CTXCAT;
SELECT
from
MY_TABLE
WHERE catsearch(column1, '$*', null) > 0 and taken >
to_date('01/01/2020','dd/mm/yyyy')
我有一列可以有特殊字符。如何列出所有具有特殊字符(如“$”符号)的数据?上面的语句没有返回任何内容,我可以确认“column1”有一个文本 $50 等等。
我想使用基于 oracle 文本的搜索而不是运算符。
非常感谢您在这方面的帮助或任何建议。
谢谢拉文
解决方案
请使用以下查询。您可以使用LIKE
或INSTR
SELECT
from
MY_TABLE
WHERE column1 like '%$%' and taken >
to_date('01/01/2020','dd/mm/yyyy');
或者
SELECT
from
MY_TABLE
WHERE instr(column1, '$') > 0 and taken >
to_date('01/01/2020','dd/mm/yyyy');
推荐阅读
- c# - 如何将此方法转换为异步
- json - 使用 jq,如何从 JSON 数据的嵌套数组中准确获取嵌套值?
- botframework - 如何从机器人向用户发送主动消息
- python - 使用 requirements.txt 将可编辑的工作目录安装到自定义路径
- javascript - 从外部文件导入文本而不干扰 CORS
- c++ - 多线程之间获取-释放内存顺序
- kubernetes - Kubernetes:在掌舵状态输出中打印命名空间
- c# - 如何为特定版本的 .NET 创建具有特定依赖项的 nuget 包
- python - 制作一个简单的扑克游戏
- c++ - 如何实现模板函数的容器和迭代器的重载?