小编Ger*_*hef的帖子

NVarchar、Bin 整理、Bin2 整理有什么区别?

所有 3 个选项都区分大小写和重音,并支持 Unicode。根据文档:

  1. NVarchar 根据“相关语言或字母表的字典”对数据进行排序和比较 (?)

  2. Bin 根据“位模式”(?)对数据进行排序和比较

  3. Bin2根据“Unicode数据的Unicode代码点”对数据进行排序和比较(?)

把复杂的事情简单化,我能不能说Bin是NVarchar的改进,Bin2是Bin的改进;除非我仅限于向后兼容,否则总是建议使用 Bin2 或至少使用 Bin 以享受更好的性能?

================================================== ======================== 我会再次尝试解释我自己。

看一看:

If Object_ID('words2','U') Is Not Null Drop Table words2;
Create  Table words2(word1 NVarchar(20),
                    word2 NVarchar(20) Collate Cyrillic_General_BIN,
                    word3 NVarchar(20) Collate Cyrillic_General_BIN2);

Insert
Into    words2
Values  (N'???????',N'???????',N'???????'),
        (N'?????????',N'?????????',N'?????????'),
        (N'?????',N'?????',N'?????'),
        (N'???',N'???',N'???');
Select * From words2;
Run Code Online (Sandbox Code Playgroud)

所有 3 个选项都支持各种字母表,无论是什么排序规则。

问题是 - 3 个选项之间的实际区别是什么?假设我想以不同的字母存储私人姓名,我可以使用哪个选项?我想我将不得不找到特定的名称(选择...从...在哪里...),订单名称(选择...从...订购...)。

sql-server unicode collation

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

列表中第一次出现的索引(不等式匹配)

A=[2,3,5,7,11,13]
print(A.index(5))
Run Code Online (Sandbox Code Playgroud)

答案是2,但我需要的是第一个大于4的答案(答案是相同的 - 2).我可以应用while循环,但是有更优雅或内置的方法吗?在我的问题中,列表按升序排序(无重复),我的目标是将其拆分为两个列表:低于或等于4,大于4; 并且如果列表被排序,则扫描它两次(甚至一次)将是多余的.

python list

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

标签 统计

collation ×1

list ×1

python ×1

sql-server ×1

unicode ×1