标签: sql-like

我会使用什么代码将SQL表达式转换为正则表达式?

我正在寻找将类似SQL语句转换为等效的正则表达式即ie

LIKE '%this%'
LIKE 'Sm_th'
LIKE '[C-P]arsen'
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方法是什么?

PS我想在.Net Framework(C#)上做这件事.

c# regex sql t-sql sql-like

7
推荐指数
1
解决办法
3301
查看次数

Oracle SQL使用Like作为通配符

我知道你可以使用LIKE作为select语句来搜索字符串,然后使用通配符来匹配该字符串.ex:

Select * from table where first_name LIKE '%r%';

将返回罗伯特,罗兰,克雷格等名称.

我很好奇你将如何在字符串中搜索实际的通配符,例如%:

Select * from table where values LIKE '% % %';

(中间%是你要找的东西)(显然这不是正确的方法,这就是为什么我要问).

sql oracle select where sql-like

7
推荐指数
1
解决办法
3万
查看次数

使用SQLite LIKE的Android自动完成部分工作

Restaurants我的SQLite DB中有一个表,它有以下记录

| Name   | Latin_Name |
+--------+------------+
| ?????? | Manaki     |
+--------+------------+
| ?????? | Enriko     |
+---------------------+
Run Code Online (Sandbox Code Playgroud)

现在我正在进行这样的搜索:

从我的片段:

String selection = DBHelper.COL_NAME + " LIKE ? OR " +
                    DBHelper.COL_LATIN_NAME + " LIKE ?";

String[] selectionArgs = {"%"+term+"%", "%"+term+"%"};

CursorLoader loader = new CursorLoader(getActivity(), 
                               DatabaseContentProvider.REST_CONTENT_URI, 
                               columns, selection, selectionArgs, null);
Run Code Online (Sandbox Code Playgroud)

内容提供商query方法:

 public Cursor query(Uri uri, String[] projection, String selection,
                    String[] selectionArgs, String sortOrder) {

    db = dbHelper.getReadableDatabase();
    SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
    switch(URI_MATCHER.match(uri)){
        case …
Run Code Online (Sandbox Code Playgroud)

sqlite android autocomplete sql-like

7
推荐指数
1
解决办法
1185
查看次数

如何使用mgo包为golang进行类似的查询

我正在尝试like使用mgo进行查询而没有运气.

我想要的是类似的mongodb查询

db.organisation.find( { "permalink" : /org.*/ } )
Run Code Online (Sandbox Code Playgroud)

我仍然坚持

sess.DB(db).C(cApp).
    Find(bson.M{"permalink": "org:bms.*"}).
    All(&m)
Run Code Online (Sandbox Code Playgroud)

go mongodb mgo sql-like

7
推荐指数
1
解决办法
4999
查看次数

Oracle SQL不适用于带连字符的单词

我有一个表列,其中包含如下所示的描述:

id    description
--------------------------------------
100   ... post-doctorate ...
200   ... postdoctorate ...
300   ... post doctorate ...
Run Code Online (Sandbox Code Playgroud)

我实现了一种搜索机制,用户可以搜索关键字,不知怎的,我在搜索这些单词时遇到问题.即使我LIKE在我的WHERE条款中使用,我似乎也不能包括上面的所有3行.

询问

WHERE description LIKE '%post-doctorate%'
Run Code Online (Sandbox Code Playgroud)

我希望能够使用任何作为我的关键字说明的变体搜索所有3个.

我也看着使用,SOUNDEX但即使这样也行不通.

请注意

请忽略我在这里没有使用参数化查询这一事实.我知道它是什么以及如何使用它,但这是我创建的一个旧项目.

sql oracle search keyword sql-like

7
推荐指数
1
解决办法
624
查看次数

喜欢在SQL中解决(性能问题)

我一直在阅读,发现使用LIKE导致查询大幅减速.

一位同事建议我们使用

Select Name
From mytable
a.Name IN (SELECT Name 
           FROM mytable
           WHERE Name LIKE '%' + ISNULL(@Name, N'') + '%' 
           GROUP BY Name)
Run Code Online (Sandbox Code Playgroud)

替代

Select Name
From mytable
a.Name LIKE '%' + ISNULL(@Name, N'') + '%'
Run Code Online (Sandbox Code Playgroud)

现在我不是SQL专家,我不太了解这些陈述的内部运作.这是一个更好的选择,值得为每个类似的声明键入一些额外的字符吗?是否有更好的(更容易打字)替代方案?

sql t-sql sql-server sql-like

6
推荐指数
2
解决办法
7635
查看次数

在*MS-Access但不是VBA中使用Like*Works

我有一个简单的查询,但遇到了LIKE在VBA中使用的问题.我在VBA中的SQL字符串是:

stsql1 = "Select Top 25 data.* from data where data.Description Like ('*') "
Run Code Online (Sandbox Code Playgroud)

当我在我的VBA代码中运行此sql字符串时,我没有返回任何记录,但是如果我将相同的字符串复制/粘贴到MS Access中的SQL视图中的查询中,则查询将返回我期望的值.在VBA中使用"Like"语法有诀窍吗?

如果有帮助,我可以提供额外的代码和数据库的小版本.

sql ms-access vba sql-like

6
推荐指数
2
解决办法
5万
查看次数

MySQL :(全文/索引)搜索"一字列"

我有一个表(MySQL 5.1,InnoDB),大约有3M行,其中98%只包含一个单词.如果我正在使用查询LIKE %searchterm%,那就太慢了.

由于SELECT只有这个表的查询,我正在考虑将其转换为MyISAM(因为InnoDB还没有,或者只支持5.6+版本,支持FULLTEXT).

但是,我想知道这是否会真正加快查询速度,因为据我所知,FULLTEXT索引是一个包含分词的表("Hello sunny day" - >"hello","sunny","一天"),所以如果每列只有一个单词,那会有意义吗?

如果我在这个文本列上放一个普通的索引,它会加快查询吗?

预先感谢您的帮助!

mysql full-text-search wildcard sql-like

6
推荐指数
1
解决办法
944
查看次数

如何在SQL中轻松使用多个LIKE条件?

我想在查询中使用很多LIKE条件.我找不到实用的解决方案.我试过CONTAINS,但它不起作用.

而不是使用这个

where EIO.DigiAddress like '%abc@abc.com%'
or EIO.DigiAddress like '%def@def.com%'
or EIO.DigiAddress like '%ghi@ghi.com%'
Run Code Online (Sandbox Code Playgroud)

我想用这样的东西:

CONTAINS(EIO.DigiAddress,'%abc@abc.com%', '%def@def.com%', '%ghi@ghi.com%')
Run Code Online (Sandbox Code Playgroud)

要么

EIO.DigiAddress IN ('%abc@abc.com%', '%def@def.com%', '%ghi@ghi.com%')
Run Code Online (Sandbox Code Playgroud)

sql sql-like

6
推荐指数
2
解决办法
5938
查看次数

在具有多个搜索词的 SQL 中使用 LIKE

我正在上一门基本的 SQL 课程,目前正在学习基础知识,但遇到过滤问题:

任务:列出所有的行TableName,其中columnName字段内容不包含任何的以下的话:“堆”或“溢出”或“exampleword”。

SELECT columnName 
FROM TableName 
WHERE columnName NOT LIKE '%stack%' 
Run Code Online (Sandbox Code Playgroud)

-> 我只用一个值就可以正常工作,但是当我尝试添加更多单词作为值时,它不再起作用 ->

SELECT columnName 
FROM TableName 
WHERE columnName NOT LIKE '%stack%' OR columnName NOT LIKE '%overflow%'  
Run Code Online (Sandbox Code Playgroud)

具有多个搜索词的正确语法是什么?

显然我也不应该在这里使用 CONTAINS 否则它太容易了。

sql sql-server string where-clause sql-like

6
推荐指数
1
解决办法
580
查看次数