标签: sql-like

在Oracle数据库中搜索Long数据类型的最佳方法是什么?

我正在使用Oracle数据库将HTML存储为Long数据类型.我想查询数据库以搜索存储在Long中的HTML数据中的特定字符串.

我试过,"从表中选择*,其中COLUMN喜欢'%form%'".这会导致以下Oracle错误,因为Long数据类型不支持"like".

ORA-00932:不一致的数据类型:预期NUMBER变长

sql oracle ora-00932 sql-like

12
推荐指数
4
解决办法
9万
查看次数

像LINQ to Objects中的运算符一样

我试图LIKE在LINQ to Objects中模拟运算符.这是我的代码:

List<string> list = new List<string>();
list.Add("line one");
list.Add("line two");
list.Add("line three");
list.Add("line four");
list.Add("line five");
list.Add("line six");
list.Add("line seven");
list.Add("line eight");
list.Add("line nine");
list.Add("line ten");

string pattern = "%ine%e";

var res = from i in list
            where System.Data.Linq.SqlClient.SqlMethods.Like(i, pattern)
              select i;
Run Code Online (Sandbox Code Playgroud)

它没有得到我的结果,因为System.Data.Linq.SqlClient.SqlMethods.Like它只是为了翻译成SQL.

LIKE在LINQ to Objects世界中是否存在类似于sql 运算符的东西?

c# linq-to-objects sql-like

12
推荐指数
3
解决办法
2万
查看次数

SQL LIKE仅使用通配符(%)作为值的性能

我想知道查询的性能如何使用LIKE关键字和通配符作为与没有where子句的值相比较.

考虑一个where子句,例如"WHERE a LIKE'%'".这将匹配列'a'的所有可能值.这与没有where子句相比如何.

我问这个的原因是我有一个应用程序,其中有一些字段,用户可以指定要搜索的值.在某些情况下,用户希望获得所有可能的结果.我目前正在使用这样的单个查询:

SELECT * FROM TableName WHERE a LIKE ? AND b LIKE ?
Run Code Online (Sandbox Code Playgroud)

可以提供'%'和'%'的值以匹配a和or b的所有可能值.这很方便,因为我可以在我的应用程序中使用单个命名查询.我想知道性能考虑因素是什么.查询优化器是否会将LIKE'%'简化为全部匹配?我意识到因为我正在使用命名查询(预备语句),这也可能影响答案.我意识到答案可能是数据库特定的.具体来说,这将如何在Oracle,MS SQL Server和Derby中发挥作用.

另一种方法是根据用户输入通配符使用3个单独的查询.

A是通配符查询:

SELECT * FROM TableName WHERE b LIKE ?
Run Code Online (Sandbox Code Playgroud)

B是通配符查询:

SELECT * FROM TableName WHERE a LIKE ?
Run Code Online (Sandbox Code Playgroud)

A和B是通配符:

SELECT * FROM TableName
Run Code Online (Sandbox Code Playgroud)

没有通配符:

SELECT * FROM TableName WHERE a LIKE ? AND b LIKE ?
Run Code Online (Sandbox Code Playgroud)

显然,单个查询是最简单和最容易维护的.如果性能仍然良好,我宁愿只使用一个查询.

sql sql-server oracle derby sql-like

11
推荐指数
2
解决办法
1万
查看次数

微软办公室访问`LIKE` VS`RegEx`

我一直在使用Access密钥术语LIKE和它的使用.我想在查询表单中使用以下RegEx(正则表达式)作为一种"验证规则",其中LIKE运算符过滤我的结果:

"^[0]{1}[0-9]{8,9}$"
Run Code Online (Sandbox Code Playgroud)

如何实现这一目标?

regex ms-access sql-like

11
推荐指数
2
解决办法
3万
查看次数

使用Rails进行Postgres不区分大小写的搜索

我的开发数据库是SQLite,但我将我的应用程序部署到Heroku,他们正在使用PostgreSQL.

现在,如果我执行搜索,有时会出现两个不同的结果,因为PostgreSQL区分大小写,但SQLite不是.

Rails不应该标准化这些东西吗?我应该用什么方法来解决这个问题?

以下是如何使用原始SQL修复它

postgresql ruby-on-rails case-insensitive sql-like

11
推荐指数
1
解决办法
8562
查看次数

MySQL - 为什么LIKE运算符忽略了COLLATION规则的德语ß字符

我在MySQL 5.0.88上使用utf8 charset和utf8_unicode_ci collat​​ion运行以下select语句:

SELECT * FROM table WHERE surname = 'abcß';

+----+-------------------+------+
| id | forename    | surname    |
+----+-------------------+------+
|  1 | a           | abcß       |
|  2 | b           | abcss      |
+----+-------------+------------+
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM table WHERE surname LIKE 'abcß';

+----+-------------------+------+
| id | forename    | surname    |
+----+-------------------+------+
|  1 | a           | abcß       |
+----+-------------+------------+
Run Code Online (Sandbox Code Playgroud)

根据http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html德国特殊字符ß= ss表示utf8_unicode_ci,但为什么它只适用于"="运算符和不喜欢?我有一个电话簿应用程序,我迫切需要两个一起工作.

mysql collation diacritics sql-like

11
推荐指数
1
解决办法
3064
查看次数

像整数运算符一样

我的表中有一个bigint(ProductSerial)类型的列.我需要使用like运算符通过Product serial过滤表.但我发现,像运算符一样不能用于整数类型.

有没有其他方法(我不想使用=运算符).

sql sql-like

11
推荐指数
1
解决办法
4万
查看次数

MYSQL:SELECT方法 - 但不显示重复/ GROUP或DISTINCT?

如何选择并不显示重复项?实际上,它显示的是:apple | 苹果| 苹果| 苹果

这是我的代码:

$search = $_GET['q'];
$query = "SELECT * FROM query WHERE searchquery LIKE '%$search%' AND searchquery <> '$search'"; 
Run Code Online (Sandbox Code Playgroud)

mysql select distinct sql-like

10
推荐指数
1
解决办法
2万
查看次数

VB.NET'Like'操作符可能存在错误?

为什么以下评估为True

Dim result = "b" Like "*a*b"
Run Code Online (Sandbox Code Playgroud)

谢谢.

编辑:
为了概括这一点,以下返回True:

"String1" Like "*AnyText1*AnyText2*AnyText???******????*String1"
Run Code Online (Sandbox Code Playgroud)

VBA正常工作,返回False.
PowerShell正常工作,返回False:

PS C:\Users\XXX> "b" -Like "*a*b"
False
Run Code Online (Sandbox Code Playgroud)

EDIT2:
错误报告的链接:https:
//connect.microsoft.com/VisualStudio/feedback/details/748415/a-bug-in-net-like-operator

.net vb.net wildcard string-matching sql-like

10
推荐指数
1
解决办法
2153
查看次数

如何在Postgres中的inet字段上使用LIKE

我需要执行以下查询:

SELECT * FROM users WHERE ip LIKE '88.99.%';
Run Code Online (Sandbox Code Playgroud)

问题是inet数据类型似乎不支持通配符(至少不是我在前面的查询中使用它们的方式).

我想知道的是,在指定LIKE过滤器之前将字段转换为字符串是否是明智之举?(另一方面,即使方法本身有效,这可能会减慢整个查询的速度.)

postgresql inet sql-like

10
推荐指数
2
解决办法
8025
查看次数