排序规则
在 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 )