SQL整理两个表,它会永久更改整理吗?

时间:2018-02-12 17:27:17

标签: sql-server collation

例如,我正在尝试将产品销售表与同一服务器的两个不同数据库上的客户信息表联系起来,最终得到“无法解决Latin1_General_CI_AS ...之间的整理冲突...”错误。 。 所以我一直在阅读有关collat​​e DATABASE_DEFAULT如何使两个表上的uniqueidentifier列匹配并连接在一起...但是临时更改(仅在查询期间)或它是否会实际更改2个表上的排序规则? 感谢

a=input("give me the integer")
result=""
def int_to_roman(a):

    if type(a) != type(1):
      raise TypeError, "expected integer, got %s" % type(a)
    if not 0 < a < 1000000:
      raise ValueError, "Argument must be between 1 and 1000000"
      ints = (1000, 900,  500, 400, 100,  90, 50,  40, 10,  9,   5,  4,   1)
      nums = ('M',  'CM', 'D', 'CD','C', 'XC','L','XL','X','IX','V','IV','I')
      result=""
    for i in range(len(ints)):
      result=""
      count = int(a / ints[i])
      result += nums[i] * count
      a -= ints[i] * count
      return result
      print("the result is " + result)

1 个答案:

答案 0 :(得分:0)

在查询中使用COLLATE时(不是CREATE/ALTER TABLECREATE/ALTER INDEX语句),它会覆盖表 - 表(或数据库默认)排序规则,而该排序规则只用于该查询,它说&#34;在比较此查询的值时仅使用此排序规则(比较算法)&#34;。它不会影响磁盘上数据的基础表示或更改任何定义(ALTER的用途)。

请注意,在查询中使用COLLATE通常是一个糟糕的代码气味:如果您的数据库首先设计的是正确的排序规则,那么这将是必要的。