标签: collation

如何在Sqlite中实现重音/变音符号不敏感搜索?

有没有办法在sqlite中进行重音/变音符号不敏感搜索?

谷歌搜索,我发现了这一点,但我真的不知道如何在C#中创建我的"校对功能".我正在尝试为Sqlite创建pt-br排序规则...

c# database sqlite search collation

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

SQL Server 2005排序规则问题

我有两个表,他们使用不同的排序规则.不允许从具有不同排序规则的表中连接列,例如,不允许使用以下SQL,

select table1column1 + table2column2 from ...
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何更改表的排序规则而不破坏表的数据?

乔治,提前谢谢

sql sql-server-2005 collation

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

数据库整理差异UTF?拉丁?等等.?

数据库的排序规则是什么用途?对于HTML UTF-8,我知道一点,比如显示其他语言类型.但是对于数据库呢?我正在使用latin-1(默认),我的朋友告诉我使用UTF代替.当我问为什么时,他们不知道并说其他人使用它.所以我在质疑校对真正做了什么?它会影响速度或类似的东西吗?

mysql database database-design collation

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

为什么没有显式COLLATE覆盖数据库排序规则?

我在SQL Server 2008 R2 dev上,服务器默认排序规则是Cyrillic_General_CI_AS

执行
SSMSSELECT'éÉâÂàÀëËçæà'COLLATE Latin1_General_CS_AS

SELECT 'éÉâÂàÀëËçæà' COLLATE Latin1_General_CI_AI   
Run Code Online (Sandbox Code Playgroud)

输出

  • eEaAaAeEc?使用默认排序规则Cyrillic_General_CI_AS打开(使用/ use dbName的ocntext)数据库
  • éÉâÂàÀëËçæà在数据库上使用默认排序规则Latin1_General_CI_AS

为什么?

sql sql-server collation internationalization codepages

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

mysql utf8编码和唯一键

我正在向用户表(来自许多站点的许多用户)输入数据:
myisam default collation latin1_swedish....

将该数据导入到 innodb table utf8_general

我已经在username,site_id组合上放置了一个唯一的密钥,但这对于同一站点的2个用户来说是失败的:

user 1    dranfog,
user 2    drånfog
Run Code Online (Sandbox Code Playgroud)

如果我跑:

SELECT IF('å' = 'a', 'yep', 'nope');
Run Code Online (Sandbox Code Playgroud)

直接在目标数据库上使用utf8编码,我得到'yep'.

任何解决此问题的提示都非常受欢迎.我的印象是utf8会将这些视为不同的字符,但似乎并非如此.

mysql unicode collation utf-8 unique-index

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

Android:SQLite中的自定义排序规则

有没有办法让Android上的SQLite使用自定义整理例程?

我知道SQLite的C接口可以做到这一点,所以我想我可以通过编写用于构建NDK的C代码来实现,但我真的更喜欢在更高级别上进行构建.

例如,我需要安排一些事情,以便对文本B-9进行排序B-29.默认的字母排序使它们以错误的方式进行.

sqlite android collation

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

使用union和tempdb进行整理

我在tempdb中有临时表,在数据库中有一个表.当我用这个2表的联合构造查询时.有一个错误:

无法解决UNION操作中"Cyrillic_General_CI_AI"和"Cyrillic_General_CI_AS"之间的排序规则冲突.

drop table [sysdb].[##temp table];
create table [sysdb].[##temp table](a varchar);
insert into [sysdb].[##temp table] (a) values ('a'),('b');


select grade_name from [mybase].[DDS].[testtable]
union
select * from [sysdb].[##temp table];
Run Code Online (Sandbox Code Playgroud)

我已使用此查询在数据库中测试了我的排序规则参数:

SELECT DATABASEPROPERTYEX('mybase', 'Collation') as collation_dwh,DATABASEPROPERTYEX('tempdb', 'Collation') as collation_tempdb
Run Code Online (Sandbox Code Playgroud)

结果是数据库的整理是相同的:

collat​​ion_dwh | collat​​ion_tempdb

Cyrillic_General_CI_AI | Cyrillic_General_CI_AI

如何解决这个问题?

t-sql sql-server collation

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

SQL Server中更改数据库归类的风险和影响

由于我的SQL Server 2012实例使用的collat​​ion(Latin1_General_CI_AS)与use(SQL_Latin1_General_CP1_CI_AI)中的某些DB不同,因此我使用与SQL Server实例不同的排序规则来评估更改数据库排序规则的可能风险.

我检索了数百个程序来执行此步骤.对我来说,不清楚的是要了解执行这样的行动是否存在某些限制或风险.

谢谢你的回复.

sql-server collation sql-server-2012

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

为什么这个字符序列比较会返回true?

为什么以下SQL语句true在MySQL中返回?

SELECT 'SeP' = 's?p';

mysql> select 'SeP' = 's?p';
+----------------+
| 'SeP' = 's?p'  |
+----------------+
|              1 |
+----------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我的数据库的字符集和整理如下.

mysql> select @@character_set_database, @@collation_database, @@collation_connection;
+--------------------------+----------------------+------------------------+
| @@character_set_database | @@collation_database | @@collation_connection |
+--------------------------+----------------------+------------------------+
| utf8mb4                  | utf8mb4_general_ci   | utf8_general_ci        |
+--------------------------+----------------------+------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

mysql collation mysql-5.7

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

服务器级别的归类导致数据库过程中区分大小写的问题

我正在将数据库安装到客户端的服务器上.在服务器上设置的排序规则是SQL_Latin1_General_CP1_CS_AS,因此它区分大小写.

我正在安装的数据库使用排序规则级别SQL_Latin1_General_CP1_CI_AS,因此它不区分大小写.

我现在遇到的问题是存储过程中的所有变量必须区分大小写,否则会引发错误.

例:

Declare @Dimension varchar(45)
Set @dimension = 'Test'
Run Code Online (Sandbox Code Playgroud)

错误:

Must declare the scalar variable "@dimension".
Run Code Online (Sandbox Code Playgroud)

@dimension变量中的小写"d"使其被识别为完全不同的变量.

我可以更新数据库中的设置以忽略服务器的排序规则吗?

注意:我获得了在服务器级别更新排序规则的权限,因为它是测试服务器.但是,这是一个更复杂的过程.我正在寻找一种解决方法,而无需通过此链接中的步骤:

  • 确保您拥有重新创建用户数据库及其中所有对象所需的所有信息或脚本.
  • 使用bcp Utility等工具导出所有数据.有关详细信息,请参阅批量导入和导出数据(SQL Server).
  • 删除所有用户数据库.
  • 重建master数据库,在setup命令的SQLCOLLATION属性中指定新的排序规则.例如:
  • Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
    /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
    /SQLCOLLATION=CollationName
  • 创建所有数据库及其中的所有对象.
  • 导入所有数据.

谢谢

sql-server collation

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