如何让MySQL对字符匹配更加严格?
举个简单的例子来说明我的意思,假设我有一个只有一个列name的表。在本专栏中,我有两个名字:'Jorge‘和’Jorgé‘。这两个名字之间的唯一区别是’If The e。如果我运行查询SELECT * FROM table WHERE name = 'Jorge',它将返回
+--------+
| name |
+--------+
| Jorge |
| Jorgé |
+--------+
如果我运行查询SELECT * FROM table WHERE name = 'Jorgé',它将返回相同的结果
长时间的读者,这里的第一次海报。
我正在努力弄清楚如何为我正在编写的音乐应用程序列出一份艺术家名单。
为了帮助理解数据库结构:与其有一个关系系统,在“歌曲”表中的每首歌曲都有一个引用“艺术家”表中的行的艺术家ID,我只是在列中有一个以艺术家的名字作为字符串的歌曲列表。然后,我在一个GROUP BY artist查询中使用MySQL返回单个艺术家的列表。
我的应用程序以JSON编码数组的形式从服务器检索这些数据,该数组是以下MySQL查询的结果:
SELECT artist FROM songs GROUP BY artist ORDER BY artist ASC
但是,这个查询的结果是,名为
我知道这个问题已经问过好几次了,我读过所有的答案,但似乎没有一个完全解决了我的问题。
我将从mySQL数据库切换到MS Access数据库。在这两种情况下,我都使用php脚本连接到数据库并执行SQL查询。
我需要为我在mySQL上执行的查询找到一个合适的替代品。我想:
根据其中一列按字母顺序执行第一次查询和顺序记录
构造一个ID列表,该列表反映前面的字母顺序
对IN列表中应用的IN子句执行第二个查询,并按此列表排序。
在mySQL中,我使用以下方式执行最后一个查询:
SELECT name FROM users WHERE id IN ($name_ids) ORDER B
我有一个应用程序,它使用datasource函数输出datagridview上的行
dim query1 as string = "Select * from trades"
Source1.DataSource = GetData(query1)
With Me.DGVTrades
.DataSource = Source1
End With
当我在托管在MySQL上的windows 10服务器上运行应用程序时,上面的代码可以工作,并填充我的datagridview。但是,它不适用于托管在MySQL上的ubuntu 18.04服务器。
数据库和MySQL服务器版本(
我正在尝试为所有元素创建一个mysql查询,所有元素都以某个用户选择的克罗地亚字母开头。
对于普通的拉丁字母来说,这一切都很好。
我面临的问题是,当我用S搜索某个东西并说Š时,我得到了以S和Š开头的两个元素,ČĆC也是如此。
$sql=" SELECT * FROM `default_subjects` where name like '{$keywords}%'";
排序规则集为utf8_unicode_ci。
谢谢。:)
我有这个脚本:
$db = mysql_connect($hostname, $db_user, $db_password);
mysql_select_db($database,$db) or die( "Unable to select database");
mysql_query("set names 'utf8'");
$wordy = "pate";
$query = mysql_query("SELECT DISTINCT * FROM $db_table WHERE word LIKE '[pa
我想为我的网站做一个目录列表页面。该页面显示了我所有的站点文章。这些文章按标题的第一个字母分组。
我必须运行26次mysql查询吗
mysql query like "SELECT * FROM articles Where title like 'a%'"
mysql query like "SELECT * FROM articles Where title like 'b%'"
mysql query like "SELECT * FROM articles Where title like 'c%'
我在MySQL 5.7.27中有一个带有utf8mb4_unicode_ci排序规则的user表。
不幸的是,Yılmaz不是线程化的,例如,下面的查询找不到ı
select id from users where name='Yilmaz';
我和其他的ä和a没有问题。例如,这两个查询提供了完全相同的结果。
select id from users where name='Märie';
select id from users where name='Marie';
我不能简单地将ı替换为i和搜索,因为这样我就不会找到名为Yılmaz的用户
我想在mysql中搜索一个文本,并将其作为空格的一部分。但我没有得到正确的结果。
我的MySql查询是:
SELECT count(id) as total
, MIN(product_price) as min_price
, MAX(product_price) as max_price
FROM `products_details`
WHERE subcat_id = 1026
AND MATCH(alternate_name, product_desc, keywords)
AGAINST ('+moto +g +plus +(>mo
基本上,如果两个人在我的游戏中有相同的分数,那么排在排行榜第一位的人以最新的分数/记录为准。
如何更改我的查询,以便如果两个或更多人有相同的分数,然后按字母顺序按姓名排序,并将该分数放在最前面。我的问题是:
$result = mysql_query("SELECT * FROM test ORDER BY Score DESC");
我有两个不同的mysql服务器,一个是8.0.16社区版本,另一个是8.0.27商业版本。它们都在Linux上运行mysql默认配置。
我有一个名为jsonstore的表,其中包含34列,其中两个是jsons,表中的行总数为9,我在两个服务器中复制了相同的表。
Select json1 from jsonstore where reference = 7 order by generated_date desc limit 1;
如果引用是int(11)索引列,则generated_date是datetime列,json1是json列,jsonstore是innodb表。
以上查询返回1 js
我是这里的SQL新手。假设我们有下表:
id type
1 A
2 A
3 B
4 B
5 C
6 C
7 D
8 D
...
假设我不知道列'type‘下的可能值,并假设它可以是N个可能值之一。在MySQL中,如何形成一个查询来获取单个类型的所有行(要么随机选择一个类型,要么采用第一个按字母排序的类型)?
期望产出:
id
我正在尝试将此MySQL查询转换为SQLite查询...
SELECT nickname
FROM userinfo
ORDER BY Round(RIGHT(nickname, Length(nickname) - Length('string')))
...for对字母数字值进行排序。它在MySQL中按预期工作,但是当我在SQLite上运行它时,同样的查询不返回任何记录。如何将此查询转换为SQLite?提前谢谢。
我有一个SQL查询;
SELECT INITCAP(
first_name
|| ' '
|| UPPER(
SUBSTR(Last_Name
,-LENGTH(Last_Name)
,2)
)
)
FROM employees;
结果是这样的;
David Au
Hermann Ba
Shelli Ba
Amit Ba
Elizabeth Ba
Sarah Be
David
我有两个MySQL查询。第一个返回由一个或两个字母组成的代码列表。"AB“、"WO”、"G")。这是一个查询:
SELECT d.field_id_105 AS code,
title
FROM exp_channel_titles AS t
INNER JOIN exp_channel_data AS d ON (d.entry_id = t.entry_id)
WHERE t.channel_id = 18
AND t.status = 'open'
AND t.author_id = 123
ORDER BY t.entry_
mysql phpmyadmin中是否有任何语法查询来修剪字母数字(Varchar)数据?我希望这样的事情发生:
在我的表中,我有两个字段id(int)和序言代码(Varchar) (25),在我的启动码列中,我有这个示例数据BEFKR679GKQTX46AFKP14VY,它由(25) ...and组成,我希望它只修剪第一个12字母数字,使它看起来像这些BEFKR679GKQT。我不知道如何更改我表格中现有的1000个输入数据。所有的12个而不是25个。
我不知道如何在单次查询中搜索mysql数据库中的所有特殊字符。
就像。搜索mysql并返回其列包含任何特殊字符的行,如“、”%*{等(意思是指某些字段除0-9、A、A以外的字符)。
我想要的示例查询类型
SELECT * FROM mytable where column = 'PATTERN TO DETECT ALL SPECIAL CHARACTERS';
如果我想排除像&()这样的一些特殊的电抗器,也请帮助进行另一个查询。-不被搜查
好的,我检查过了,似乎没有人问过这个问题。
所以我有两个词:
thiep cuoi
thiệp cưới
问题是,当我计算()时,这些mysql会将这两者合并为相同的值。例如,下面的sql:
#lets assume these two words have an id of 1 and 2 and that the column name
#in the table is `word`
SELECT `word`, COUNT(`word`)
FROM table_name
WHERE `id` IN(1,2)
GROUP BY `word`;
将返回两个词作为一行,计数为2。通过UTF
我需要一个MySQL查询从英语词典数据库中选择随机单词。但是,在我的例子中,查询生成的单词的前两个起始字符必须是唯一的。
例如,此查询执行选择随机单词的工作,但如您所见,它会生成单词以相同字符开头的结果。
SELECT DISTINCT(word) FROM en_english479k WHERE CHAR_LENGTH(word)>=12 ORDER BY RAND() LIMIT 10
效果可以在下面的截图中看到:
我需要生成在起始字符方面完全唯一的单词(在我的例子中是前两个)。
我在MYSQL表中有一本字典,这个表由24万字组成。例如,如果我有字母G,I,G,S,N和O,我想选择表中包含所有或部分这些字母(而没有其他字母)的所有单词。
例如,可以接受的词语包括:
远行
宋国
儿子
所以
在……上面
令人无法接受的词语的例子:
歌曲(超过允许的一个S)
字数比字数长(本例中为6个)
MYSQL查询会是什么样子?
我现在的MYSQL看起来如下:
SELECT * FROM `list`
WHERE word like '%S%' and word like '%O%' and word like