执行 SELECT INTO 时可以指定排序规则吗

Fin*_*nNk 6 t-sql collation

如果我从一个源选择到另一个源,我可以同时指定排序规则吗?

例如

SELECT Column1, Column2
INTO DestinationTable
FROM SourceTable
Run Code Online (Sandbox Code Playgroud)

其中“DestinationTable”尚不存在。

我知道我可以做类似的事情

SELECT Column1, Column2 COLLATE Latin1_General_CI_AS
INTO DestinationTable
FROM SourceTable
Run Code Online (Sandbox Code Playgroud)

在我的实际问题中,事先不知道列的数据类型,因此我不能只将排序规则添加到每列。它位于遗留应​​用程序的一个角落,使用大型令人讨厌的存储过程来生成 SQL,我试图让它在 tempdb 中具有不同排序规则的新服务器上运行,只需进行最小的更改。

我正在寻找类似的东西:

SELECT Column1, Column2
INTO DestinationTable COLLATE Latin1_General_CI_AS
FROM SourceTable
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。

gbn*_*gbn 3

可以先建表吗?

您可以为相关列定义排序规则。在 INSERT 时,它们将被强制。

听起来你不知道目标表的结构...所以那么不,你不能没有动态 SQL。这会让事情变得更糟......