我有以下MySQL查询:
create temporary table if not exists temp_terms(
term varchar(256) NOT NULL,
soundexterm varchar(4) NOT NULL
);
INSERT INTO temp_terms VALUES ('brocoli', Soundex('brocoli')), ('rice', Soundex('rice')), ('aple', Soundex('aple'));
我有一个mysql查询:
SELECT my_table.* WHERE SOUNDEX(my_col)='whatever' OR SUBSTR(SOUNDEX(my_col),4)='whatever' ORDER BY SUBSTR(SOUNDEX(my_col),4)='whatever',SOUNDEX(my_col)='whatever'
子字符串函数和soundex函数将被调用多少次?我的意思是,对于完全相同的输入,mysql会在一个查询的范围内缓存结果吗?
如果不是,我如何在查询中进行更改,以便每个函数被调用的时间
我有一些歌曲名称和它们的预先计算的soundex存储在mysql表中。我想比较用户输入的soundex与预先计算的soundex‘’es。并按用户输入和歌曲名称之间的差异的顺序得到结果。
我尝试了以下查询(在java中):
String query="SELECT * FROM song ORDER BY STRCMP(pre_calculated_soundex,SOUNDEX("+user_input+")) ASC ";
但是strcmp只返回1,0或-1。所以排序是不对的。
也尝试了WHERE pre_calculated_soundex=SOUNDEX
python有soundex函数吗?如果没有,你将如何编写soundex代码?
Soundex
Code Letters
1 B, F, P, V
2 C, G, J, K, Q, S, X, Z
3 D, T
4 L
5 M, N
6 R
SKIP A, E, H, I, O, U, W, Y, H, W, and Y
例如:
Jackson = J250
华盛顿= W252
Clement = C455
阿什克拉夫特= A261
Wu = W000
快速MYSQL/PHP问题。如果使用普通搜索查询找不到结果,我将使用“不那么严格”的搜索查询作为后备,如下所示:
foreach($find_array as $word) {
clauses[] = "(firstname SOUNDS LIKE '$word%' OR lastname SOUNDS LIKE '$word%')";
}
if (!empty($clauses)) $filter='('.implode(' AND ', $clauses).')';
$query =
我有一个数据库上的位置表,它包含标题和描述两行
我用PHP和MYSQL搜索了一下
$select_place = $mysqli->query("SELECT * FROM places where title LIKE '%$searchname%' or description LIKE '%$searchname%'");
$num_place = $select_place->num_rows;
while ($rows_place = $select_place->fetch_array(MYSQL_ASSOC)){
我读了一篇关于英语和语音学的有趣文章,并想看看我新发现的知识是否可以在TSQL中应用来生成模糊结果集。在我的一个应用程序中,有一个包含单词的表,我从一个单词列表中提取这些单词。它实际上是一个单列表-
Word |
------
A
An
Apple
...
their
there
Server中是否有内置函数来选择听起来与相同的单词,即使拼写不同?(全球化设置在en-ZA上--正如我上次检查的那样)
SELECT Word FROM WordTable WHERE Word = <word that sounds similar>
Excel文件中有2列(我从两个不同服务器上的两个不同SQL视图中提取它们)。它应该包含相同的数据。示例:
Name Name
Adam Smith Adam Smith
Billy Jones Bill Jones
Colin Richards Colin Richards
Dale Cooper Dal Coop
我希望能够检查每一列是否包含这些名称的精确匹配或部分匹配,问题是每个列中都有1000+名称。
我尝试过VLOOKUP,但我认为我的逻辑做得不对。他们还有别的办法吗?
编辑
我尝试的VLOOKUP逻辑是
当按姓氏搜索时,我需要在数据库中进行搜索以查找“模糊匹配”。我已经实现了以下函数来启用SoundEx函数,没有任何问题。
当涉及到构建SQL以在数据库中进行搜索时,我遇到了一些问题,动态地调用SoundEx函数。我知道可以在SQL语句中调用VBA函数,但它似乎不能正常工作。
Private Sub cmdSearch_Click()
Dim LSQL As String
Dim LSearchString As String
If Len(txtSearchString) = 0 Or IsNull(txtSearchString) = True Then
MsgBox "
我的工作是搜索部分,我面临的一个问题是查找记录。我有products表的列,如:- id,product_name
id product_name
1 woodpecker handpiece
2 hand piece
现在,当我用query=搜索“woo”时,它搜索得很好。当我下一次添加query="wooo“时,如果我搜索query="woooooooo”,如果用户输入了许多o's,那就好了。我希望至少如果用户输入错误2(o's),那么它必须搜索。
SELECT * FROM products WHERE product_name LIK
我注意到LIKE 'a%‘会返回带有'árbol’的结果,但LIKE 'AE%‘不会返回像“?ther”这样的结果。LIKE在多大程度上是聪明的?假设我有以下数据库条目:
Black Blue
Black Blew
有没有办法让MySQL和‘黑色Bleu’这两个词巧妙地搭配起来(因为他们很接近)?或者像'_%‘一样只能匹配精确的字符,除了前面提到的例外?
如您所见,我在main方法中将值设置为"SMITH“和"SMYTHE”。这个值的输出应该是25030,但是由于某种原因,它被编码为250300。我认为这是因为它是在单词的第一个字符之前进行编码的。例如,SMITH是"S“,所以这是编码为"S”的第一个字符。如何使S变成一个数字或一个值?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoundDexFinal
我想从contacts表中查找名称与发音匹配的所有重复名称。例如: Rita或Reeta,Microsoft或Microsift,Mukherjee或Mukherji。
我使用了下面的查询:
SELECT contacts.id
FROM contacts
INNER JOIN (
SELECT first_name, last_name, count(*) AS rows
FROM contacts
WHERE deleted = 0
GROUP BY SOUNDEX(first_name), SOUNDEX(last_name)
HAVI
我正在对一个用户表执行soundex查询。用户的子查询以逗号分隔的字符串列表的形式提供。
我想做一些类似于下面的事情,但是我找不到能让它工作的write语法。
select * from ((Select soundex(concat(fname, lname)) t, * from users)
Union
(Select soundex(fname) t, * from users)
Union
(Select soundex(lname) t, * from users)) xusers
where t in (select soundex([column]) from ('Na
我有用户名,这是手动输入不同的最终用户。输入用户名时没有验证机制,因此可能会出现拼写错误。例如,用户可以输入Tina,Teena作为相同的用户名。输入Tina时我需要返回Tina,反之亦然。
精心设计
SELECT * FROM tbl where where username='tina'
应该还蒂娜,提娜等等。
我试图使用以下代码合并MySQL中的行:
SELECT
type,
name,
GROUP_CONCAT(code SEPARATOR ',') AS code
FROM
`table1`
WHERE
name = '%name%' AND type = 'type'
GROUP BY
name
但是,DB条目没有发生任何更改,这是第一个问题。
数据库如下所示:
type | name | code
-----|-------|-------
A | Milk2 | 143521
-----
{id:1,
description: "The world is yours"
},{
id:2
description: "Hello my friend"}
如果我搜索单词'wordl‘,结果将是:
{id:1,
description: "The world is yours"
}
这有可能吗?
我有一个长的字符变量(最多12000个字符),我想在变量中找到一个听起来像某个单词的字符串。
如果字符串在变量中,我还想创建一个等于1的变量。比方说,为了论证起见,我想找的词是"Mary“(不区分大小写)。下面是一个称为“问题”的数据集中一个名为"string“的变量中的四个示例字符串:
玛丽有一只小羊羔,它的羊毛像雪一样白。
杰克动作敏捷杰克跳过烛台
我觉得你和我应该结婚
我其实不想结婚
标志变量应该为字符串1和3=1(因为Mary和结婚)。
不幸的是,我认为我不能使用以下代码:
DATA answer;
SET question;
IF
所以我有一个数据库,里面有文章,用户应该能够搜索他们输入的关键字,搜索应该能找到任何包含这个词的文章。
因此,例如,如果有人要搜索阿尔茨海默氏症这个词,我会希望它以任何方式返回带有拼写的文章,而不管它的撇号是什么;
阿尔茨海默氏症
阿尔茨海默病
结果应全部返回。在这一分钟,它是搜索准确的方式,这个词是拼写,不会带来结果,如果它有标点符号。
因此,我现在要查询的是:
private static final String QUERY_FIND_BY_SEARCH_TEXT = "SELECT o FROM EmailArticle o where UPPER(o.headline) L
我想弄清楚,当用户输入了一个单词的英文拼写时,如何在一个字段上加入,因为有可用的键。这就像用库斯代替库斯,用弗朗索瓦代替弗朗索瓦,用何塞代替何塞。
我在几篇文章中看到过“排序规则”和“正则表达式”这两个术语。我试过了
SELECT Company collate SQL_Latin1_General_CP850_CI_AI, Company
FROM tblCompany
但是我的变音仍然在那里,所以它不会加入到没有使用变音的地方。
任何帮助我走上正轨的人都将不胜感激!