溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • 無法解決 equal to 運算中 "Chinese_PRC_CI_AS_WS" 和 "Chinese_PRC_CI_AS" 之間的排序規則沖突。

無法解決 equal to 運算中 "Chinese_PRC_CI_AS_WS" 和 "Chinese_PRC_CI_AS" 之間的排序規則沖突。

發布時間:2020-10-17 17:50:30 來源:網絡 閱讀:1307 作者:cpx1975 欄目:數據庫

本來好好的,電腦重裝了一下居然碰到了這個問題。百度后知道了原因。記錄一下


是因為兩個表字段的排序規則不同導致的,于是找了很久,最后才發現原來是創建的臨時表造成的。


解決方案如下:


CREATE TABLE #Item(

  id INT PRIMARY KEY,

  item_id varchar(30) Collate Database_Default  ,

  item_name varchar(50) Collate Database_Default  ,

  seq varchar(10) Collate Database_Default  ,

  price money ,

  cost_price money ,

  [path]  varchar(200) Collate Database_Default  ,

  date_deleted datetime 

 )


后面加Collate Database_Default , 來引用數據庫默認的排序規則。


順便學習了下:


什么叫排序規則呢?MS是這樣描述的:"在 Microsoft SQL Server 2000 中,

字符串的物理存儲由排序規則控制。排序規則指定表示每個字符的位模式以及存

儲和比較字符所使用的規則。"

在查詢分析器內執行下面語句,可以得到SQL SERVER支持的所有排序規則。


select * from ::fn_helpcollations()


排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。

如:

Chinese_PRC_CS_AI_WS 

前半部份:指UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。

排序規則的后半部份即后綴 含義: 

     _BIN 二進制排序 

     _CI(CS) 是否區分大小寫,CI不區分,CS區分

    _AI(AS) 是否區分重音,AI不區分,AS區分

    _KI(KS) 是否區分假名類型,KI不區分,KS區分

    _WI(WS) 是否區分寬度 WI不區分,WS區分

區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。

區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,比較還將重音不同的字母視為不等。

區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。

區分寬度:如果想讓比較將半角字符和全角字符視為不等,請選擇該選項


其他解決方法:


1、將數據庫中一個表的字段改成與另一個表中要比較的字段相同的排序規則;  

     

    無法解決 equal to 運算中 "Chinese_PRC_CI_AS_WS" 和 "Chinese_PRC_CI_AS" 之間的排序規則沖突。

    無法解決 equal to 運算中 "Chinese_PRC_CI_AS_WS" 和 "Chinese_PRC_CI_AS" 之間的排序規則沖突。

    無法解決 equal to 運算中 "Chinese_PRC_CI_AS_WS" 和 "Chinese_PRC_CI_AS" 之間的排序規則沖突。

2、在SQL語句的Where子句后面加上類似這樣的SQL片段:collate Chinese_PRC_CI_AI_WS


        如:Select A.* From A,B Where A.a = B.b collate Chinese_PRC_CI_AI_WS



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女