排序规则

​ 在 T-SQL 语句中,可以包括 to 指定列或表应使用数据库的默认排序规则。在 UDB-TDS 中,您应该删除 COLLATE DATABASE_DEFAULT 子句,或指定归类名称。

DROP TABLE IF EXISTS t1

-- This CREATE TABLE statement works in T-SQL but not in UDBTX-TDS.

CREATE TABLE t1( col1 NVARCHAR(24) COLLATE DATABASE_DEFAULT NOT NULL )

DROP TABLE IF EXISTS t1

-- This CREATE TABLE statement works the same in T-SQL and UDBTX-TDS.

CREATE TABLE t1( col1 NVARCHAR(24) NOT NULL )

​ 通常认为删除如上所示的 COLLATE DATABASE_DEFAULT 子句更可取,因为您不必在源代码中对任何排序规则名称进行硬编码。如果确实要指定确切的排序规则名称,则可以使用以下命令检索正在使用的数据库的排序规则:

SELECT CAST(DATABASEPROPERTYEX('my_database', 'Collation') AS varchar(64)) AS CollationId

 

CollationId                          

\----------------------------------------------------------------

sql_latin1_general_cp1_ci_as   

然后,指定数据库的排序规则,而不是在 UDB-TDS 中指定排序规则。

drop table if exists t1

CREATE TABLE t1( col1 NVARCHAR(24) COLLATE sql_latin1_general_cp1_ci_as NOT NULL )