问题标签 [collate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 如何使用 utf_unicode_ci 处理区分大小写的列
我有一个使用utf_unicode_ci的 mysql 数据库(不区分大小写)
但在一种特殊情况下,一个表的一列我需要保存区分大小写的唯一字符串(例如:iX3hR0)
在这种情况下,正确的解决方案是仅在 utf8_bin 中更改此列???(并将数据库的其余部分保留为 CHARACTER SET utf8 COLLATE utf8_unicode_ci)
还是有更好的方法?这种方法会影响性能吗?
编辑: 我知道我可以使用“WHERE BINARY Name='vaLuE'”,但我需要将区分大小写的字符串作为唯一的存储在数据库中
mysql - MySQL Collate 查询永远运行
我在 MySQL 中有一个特定的查询,它使用 collate 比较来自两个不同表(索引)的值,但这不会执行几个小时。查询如下:
仅供参考 elig_temp 表有 70k 条记录,而 med_temp 有 100 万条记录。
此外,table_elig 和 table_med 表的 id 字段是同一个表中另一个字段的哈希加密值。因此,我也尝试使用二进制排序规则技术,例如 udf8_bin 和 latin1_bin 来使查询运行,但我又被卡住了。
我什至尝试使用与查询一起使用的相同排序技术来定义 table_med 和 table_elig 的每个字段(varchar 和 char),但没有运气。
请向我建议任何可能的解决方案,以有效地执行此查询时间。
python - SQLITE 自定义 Accent 排序规则和 LIKE 查询
我在 Python3 中创建了这个 NOACCENT COLLATION,以便在我正在尝试编写的 sqlite 数据库程序中使用它。
我的目标是使带重音的人声搜索不敏感,并使数据输入对重音也不敏感,这样(即)如果该表字段中已经存在“Gonzalez”值,则不会承认“Gonzalez”值。
我所做的对第二部分(限制值)和完整的值搜索很有效。我无法使它适用于 SELECT ... LIKE 表达式。我知道 SQLite 中 COLLATE NOCASE 对 az, AZ 中的 unicode 字符的 LIKE 限制,但是为什么当我使用自己定义的排序规则 NOACCENT 时该限制适用?因为看起来就是这样。
例子:
如果我做:
我得到:
什么好。这适用于大写和小写的任何组合以及单词的任何声音中的任何重音('ALBERTÓ','Älbèrtô'......)
如果我尝试插入值“ALBERTÓ”,由于唯一约束,我会收到一个错误,所以这很好用。
问题是当我尝试使用 LIKE 表达式时:
返回:
没有重音的值。
数据库本身是否有任何解决方案,或者我必须通过软件进行部分搜索(即“阿尔伯特”)。
希望我的问题足够清楚。
提前致谢。
sql - 问题更改排序规则所有(第二部分)对象''依赖于列''。(SQL 2008)
朋友们。
在(上一篇文章)中,我们试图改变所有数据库和表等的排序。
这就是我所做的:
它会告诉我这样的事情:
这将遍历所有数据库和所有表。这就是我要的。
但我有时会发现这个错误:
消息 5074,级别 16,状态 1,第 112 行对象“IX_CTTrace_Unique”依赖于列“TraceName”。消息 4922,级别 16,状态 9,第 112 行 ALTER TABLE ALTER COLUMN TraceName 失败,因为一个或多个对象访问此列。
我怎么能打这个?因为有很多这样的消息,我们有数百个操作系统数据库和表以及 Pks...
这是胜利的最后一条线!!我的老板终于会说“嘿……干得好,我的朋友……”
我找到了这个答案:
啊,这是 SQL Server 中最严重的问题之一:一旦创建了对象,就无法更改排序规则(对于表和数据库都是如此……)。您只能保存数据(不要使用 bcp 或备份实用程序,您需要将它们放在类似文件类型的 csv 中......),删除数据库,使用正确的排序规则重新创建并将数据重新导入到新数据库...希望这会有所帮助,再见 cghersi
我不想放弃。2 个月的 DBA,我想变得很棒。
谢谢朋友 !
php - 使用在 PHP 中创建表
我的数据库中的表中有一些来自捷克字母表的不寻常字母,如ěščřžýáíé 忽略我的查询。我认为它可以通过 CHARACTER SET utf8 COLLATE utf8_czech_ci 解决,但看起来我不知道如何使用它。我正在尝试此代码,但可以肯定的是,存在一些问题:
我必须在 PHP 代码中创建表,因为它依赖于另一个变量。浏览器显示“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 'id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), title VARCHAR(30), ' 附近使用的正确语法第 2 行”。
知道如何解决吗?
pdo - 使用重音 PDO 进行查询时出现问题
我有以下问题:
我创建了以下数据库和表:
我制作了一个批处理文件(.sql)来加载内容:
我通过phpmyadmin检查过,没问题
对于我的 WebService,我的 PDO 启动是:
我还在 PDO 中从我的网络进行查询 (SELECT *) 并显示正常。
当我添加 WHERE 子句时,仅适用于 $value='Entrada' 但不适用于 $value='Saída'。
使用 $value='Saída' 返回 EMPTY。
我知道这听起来像是一个整理问题,但我没有问题使用 PDO 插入重音或包含重音的返回问题(SELECT * 返回值 Saída 没有问题)。
有什么建议吗?我浏览了整个互联网,只发现有关 exibition 问题或不完整插入的问题,但没有发现查询问题。
提前致谢!
sql - 同一数据库内的排序规则冲突
我对两个查询执行联合。简化版如下所示:
两个表都在同一个数据库中。但是,我收到以下错误:
我希望在不同数据库上操作时出现排序规则错误,而不是在查询同一数据库中的两个表时。
我检查了两个表的属性,在这两种情况下,排序规则都是Latin1_General_CI_AS
. 但是,当两个选择地址同一个表时,我没有收到任何错误。显然,单独运行时,两个选择都起作用。
我在 SQL Server 上。有什么建议可能是问题的根源吗?
mysql - MySQL 区分大小写的搜索二进制或整理
我需要对数据库中的字段进行区分大小写的搜索。我看到有人建议使用二进制方法。
其他人正在使用 Collate 方法
我不确定要使用哪一个?更好的方法是什么?
mysql - SQL 将列从 Latin1 转换为 UTF8
我正在尝试将我的数据库上表中的特定列从带有排序规则 latin1_swedish_ci 的 latin1 字符集转换为带有排序规则 utf8_unicode_ci 的 utf8。
COLUMN:描述,类型:longtext,默认不为空
我在列上尝试了以下命令:
我还尝试更改编码而不先更改为二进制。但是这些字符最终被服务器错误地重新编码。
并且不断收到有关某些字符的错误:
错误代码:1366。不正确的字符串值:第 803 行的列 'longDesc' 的 '\x92t hav...'
我表中的某些字符似乎没有正确转换。
我该如何解决这个问题?