zoukankan      html  css  js  c++  java
  • sql collation

    如:我要找出A表與B表中同一個人其email不一樣的記錄時報錯
    select   a.email,b.email   from   A表   a   inner   join   B表   b   on   a.emp_no=b.empno
    where     a.email <> b.email

    訊息   468,層級   16,狀態   9,行   1
    Cannot   resolve   the   collation   conflict   between   "SQL_Latin1_General_CP1_CI_AS "   and   "Chinese_Taiwan_Stroke_CI_AS "   in   the   not   equal   to   operation.

    經查,報錯原因為:
    A表字段email的collation是:Chinese_Taiwan_Stroke_CI_AS
    A表字段email的collation是:SQL_Latin1_General_CP1_CI_AS
    如何解決啊?  

    重新建表統一collation,就可以了。除此方法外,還有其他方法嗎?
    B表是從其他數據庫導過來的,兩個數據庫排序原則不一樣。
    所以不同數據庫創建時排序原則最好一樣,要不就出現上述等很多問題了。

    問題解決
    select   a.email,b.email   from   A表   a   inner   join   B表   b   on   a.emp_no=b.empno
    where     a.email   collate   Chinese_Taiwan_Stroke_CI_AS   =   b.email   collate   Chinese_Taiwan_Stroke_CI_AS

    結貼了。

  • 相关阅读:
    unix网络编程 初步了解TCP/IP协议
    unix网络编程 常见概念
    linux 环境变量
    linux c编程
    第二周学习笔记
    jmeter第一周学习笔记
    建造者模式
    原型设计模式
    抽象工厂模式
    工厂方法模式
  • 原文地址:https://www.cnblogs.com/linsond/p/1442863.html
Copyright © 2011-2022 走看看