Sql server SQLite到SQL Server 2008,排序规则

Sql server SQLite到SQL Server 2008,排序规则,sql-server,sqlite,tsql,collation,Sql Server,Sqlite,Tsql,Collation,正在尝试将数据库结构从SQLite导入SQL Server 2008 R2 Express。如何在SQLServer创建表脚本中定义以下SQLite语法 vendor_no VARCHAR(255) COLLATE NOCASE 我检查了一下,但它有太多的条目,其中许多看起来非常相似。如果需要的话,数据库在美国英语环境中。SQLlite只有一个内置排序规则(二进制),“nocase”只会使二进制排序规则不区分大小写。 SQL Server为许多不同的字母表提供了排序规则,其中大多数在两个版本中

正在尝试将数据库结构从SQLite导入SQL Server 2008 R2 Express。如何在SQLServer创建表脚本中定义以下SQLite语法

vendor_no VARCHAR(255) COLLATE NOCASE

我检查了一下,但它有太多的条目,其中许多看起来非常相似。如果需要的话,数据库在美国英语环境中。

SQLlite只有一个内置排序规则(二进制),“nocase”只会使二进制排序规则不区分大小写。 SQL Server为许多不同的字母表提供了排序规则,其中大多数在两个版本中(CI-不区分大小写和CS-区分大小写)。 在SQL Server中混合排序规则不是一个好主意,因为在许多操作(例如联接、联合等)中由于隐式转换而容易出错

您可以做的是检查数据库中的排序规则,以确保不区分大小写:

SELECT name, collation_name FROM sys.databases

此查询可能返回:SQL\u Latin1\u General\u CP1\u CI\u AS(美式英语不区分大小写),但您只需确保它显示类似于…CI…

的内容即可。该查询为我的数据库返回
SQL\u Latin1\u General\u CP1\u CI\u AS
。所以我的身体可能很好;这样就不需要在列级别指定排序规则。