日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

SQL Server數(shù)據(jù)庫簡體繁體數(shù)據(jù)混用的問題

瀏覽:178日期:2023-11-06 09:05:11

這篇論壇文章著重介紹了SQL Server數(shù)據(jù)庫簡體繁體數(shù)據(jù)混用的問題,詳細內(nèi)容請參考下文:

我現(xiàn)在要說的是一個在簡體繁體數(shù)據(jù)混用的時候很容易發(fā)生的問題,但是這個問題也很容易被大家忽略。具體來說,這個問題會在所有采用不同排序規(guī)則的數(shù)據(jù)實例間關(guān)聯(lián)數(shù)據(jù)的時候發(fā)生。也許我這么說大家還是弄不清楚到底是怎么回事兒,我先來講一下我今天碰到的問題。

公司里面使用的數(shù)據(jù)庫會有簡體中文和繁體中文兩種版本。我現(xiàn)在這個專案使用的SQLServer是繁體中文版的,但是需要使用到另一個使用簡體中文版SQLServer專案的數(shù)據(jù),我按照通常的做法把簡體中文版SQLServer中的一個數(shù)據(jù)表導入到現(xiàn)在使用的繁體中文版SQLServer中,結(jié)構(gòu)和數(shù)據(jù)都導入成功了。我一開始并沒有意識到這樣做會有什么問題。接下來我開始調(diào)試SQL語句,其實是一個很簡單的兩表關(guān)聯(lián)數(shù)據(jù)選擇大致如下:

select table1.*,table2.*

from table1

inner join table2 on table2.FK = table1.PK

照理說這么簡單的語句沒道理會出什么問題,不過在查詢分析器里面始終提示如下的錯誤

服務(wù)器: 消息 446,級別 16,狀態(tài) 9,行 1

無法解析 equal to 動作的定序衝突。

后來搜索了一下,然后又看了一下T-SQL的幫助,才知道原來是因為我將簡體中文SQL Server中的數(shù)據(jù)表導入到繁體中文的數(shù)據(jù)表中的是后,連同原數(shù)據(jù)的排序方式一并導入,導致了簡體數(shù)據(jù)表的排序方式依然是簡體,所以無法進行比較,從而出錯。解決的辦法是指名排序方式,告訴查詢分析器應該怎樣排序即可。這里會需要用到一個關(guān)鍵字 COLLATE Coliate 在SQLServer聯(lián)機叢書中是這樣解釋的:

COLLATE

一個子句,可應用于數(shù)據(jù)庫定義或列定義以定義排序規(guī)則,或應用于字符串表達式以應用排序規(guī)則投影。

語法:

COLLATE < collation_name >

< collation_name > ::=

{ Windows_collation_name } | { SQL_collation_name }

參數(shù)

collation_name

是應用于表達式、列定義或數(shù)據(jù)庫定義的排序規(guī)則的名稱。collation_name 可以只是指定的 Windows_collation_name 或 SQL_collation_name。

Windows_collation_name

是Windows 排序規(guī)則的排序規(guī)則名稱。請參見Windows排序規(guī)則名稱。

SQL_collation_name

是 SQL 排序規(guī)則的排序規(guī)則名稱。請參見 SQL 排序規(guī)則名稱。

那么我們怎么可以知道當前的排序規(guī)則名稱是什么呢,其實這個排序規(guī)則名稱是我們在創(chuàng)建數(shù)據(jù)庫(實例)的時候就可以進行選擇的,不過通常情況下我們都會默認原來的設(shè)定,不會對其進行變更,所以如果是簡體中文的SQLServer就會默認的使用簡體中文的排序規(guī)則,而如果是繁體中文的SQLServer就會默認的使用繁體中文的排序規(guī)則。我們在察看數(shù)據(jù)庫(實例)的屬性時,常規(guī)頁簽的最下面一行就是當前的排序規(guī)則。在默認的情況下,簡體中文的排序規(guī)則名稱是:Chinese_PRC_CI_AS,而繁體中文的排序規(guī)則名稱則是:Chinese_Taiwan_Stroke_CI_AS,所以我們?nèi)绻谟泻嗴w繁體排序規(guī)則名稱混用的時候,只要聲明一下你當前要使用哪種排序規(guī)則進行比較就可以了,例如針對上面的那個SQL語句,下面兩種方法都可以解決那個錯誤提示的問題

SELECT Table1.*,Table2.*

FROM Table1

INNER JOIN Table2 ON Table2.FK = Table1.PK COLLATE Chinese_PRC_CI_AS

SELECT Table1.*,Table2.*

FROM Table1

INNER JOIN Table2 ON Table2.FK = Table1.PK COLLATE Chinese_Taiwan_Stroke_CI_AS

說了半天如何解決排序規(guī)則沖突引起的問題,如果還有興趣的話,下面把SQL Server聯(lián)機叢書里面關(guān)于排序規(guī)則的概念貼出來給大家分享一下,省得大家再去找:

Microsoft® SQL Server™ 2000 支持多種排序規(guī)則。排序規(guī)則對控制正確使用語言(如馬其頓語或波蘭語)或字母表(如西歐語言使用的拉丁字母表 Latin1_General)字符的規(guī)則進行編碼。

每個 SQL Server 排序規(guī)則指定三個屬性:

用于 Unicode 數(shù)據(jù)類型(nchar、nvarchar 和 ntext)的排序次序。排序次序定義字符的排序序列,以及在比較操作中對字符取值的方法。

用于非 Unicode 字符數(shù)據(jù)類型(char、varchar 和 text)的排序次序。

用于存儲非 Unicode 字符數(shù)據(jù)的代碼頁。

說明 不能指定與 Unicode 數(shù)據(jù)類型(nchar、nvarchar 和 ntext)對應的代碼頁。用于 Unicode 字符的雙字節(jié)位模式由 Unicode 標準定義且不能更改。

可在任何級別上指定 SQL Server 2000 排序規(guī)則。安裝 SQL Server 2000 實例時,可指定該實例的默認排序規(guī)則。每次創(chuàng)建數(shù)據(jù)庫時,可指定用于該數(shù)據(jù)庫的默認排序規(guī)則。如果未指定排序規(guī)則,數(shù)據(jù)庫的默認排序規(guī)則即是實例的默認排序規(guī)則。無論何時定義字符列、變量或參數(shù),都可指定這些對象的排序規(guī)則。如果未指定排序規(guī)則,將使用數(shù)據(jù)庫的默認排序規(guī)則創(chuàng)建這些對象。

如果 SQL Server 實例的所有用戶都使用同一種語言,則應選擇支持該語言的排序規(guī)則。例如,若所有用戶都講法語,則選擇法語排序規(guī)則。

如果 SQL Server 實例的用戶使用多種語言,則應選擇能對多語種需求提供最佳支持的排序規(guī)則。例如,如果用戶一般都講西歐語言,則選擇 Latin1_General 排序規(guī)則。當支持使用多種語言的用戶時,對所有字符數(shù)據(jù)都使用 Unicode 數(shù)據(jù)類型 nchar、nvarchar 和 ntext 最為重要。Unicode 旨在消除非 Unicode char、varchar 和 text 數(shù)據(jù)類型的代碼頁轉(zhuǎn)換困難。因為排序規(guī)則定義用于比較操作的排序次序和 Unicode 字符的排序,所以當用 Unicode 數(shù)據(jù)類型實現(xiàn)所有的列時,排序規(guī)則仍會產(chǎn)生不同。即使當使用 Unicode 數(shù)據(jù)類型存儲字符數(shù)據(jù)時,也應選擇支持大多數(shù)用戶的排序規(guī)則,以防使用非 Unicode 數(shù)據(jù)類型實現(xiàn)列或變量。

SQL Server 排序規(guī)則定義數(shù)據(jù)庫引擎存儲和操作字符及 Unicode 數(shù)據(jù)的方式。然而,當數(shù)據(jù)移入應用程序后,在應用程序中進行的字符排序和比較將由計算機上選定的 Windows 區(qū)域設(shè)置控制。應用程序使用的字符數(shù)據(jù)排序規(guī)則是由 Windows 區(qū)域設(shè)置控制的項目之一,區(qū)域設(shè)置還定義其它項目,如數(shù)字、時間、日期和貨幣格式。對于 Microsoft Windows NT® 4.0、Microsoft Windows® 98 和 Microsoft Windows 95,可使用控制面板中的'區(qū)域設(shè)置'應用程序指定 Windows 區(qū)域設(shè)置。對于 Microsoft Windows 2000,可使用'控制面板'中的'區(qū)域選項'應用程序指定區(qū)域設(shè)置。有關(guān) Windows 區(qū)域設(shè)置的更多信息,請參見 Microsoft Web 站點 MSDN® 頁中的 Developing International Software for Windows 95 and Windows NT 4.0。

多個排序規(guī)則可對非 Unicode 數(shù)據(jù)使用相同的代碼頁。例如,代碼頁 1251 定義西里爾語字符集。多個排序規(guī)則(如 Cyrillic_General、Ukrainian 和 Macedonian)都使用該代碼頁。雖然這些排序規(guī)則都使用相同的位集來表示非 Unicode 字符數(shù)據(jù),但在處理字典定義時所應用的排序和比較規(guī)則略有不同,而字典定義確定語言或字母表中與排序規(guī)則相關(guān)的正確字符序列。

因為SQL Server 2000排序規(guī)則控制 Unicode 和非 Unicode 排序次序,所以不會遇到由為 Unicode 和非 Unicode 數(shù)據(jù)指定不同的排序規(guī)則而引起的問題。在 SQL Server 的早期版本中,對代碼頁號、字符排序次序和 Unicode 排序規(guī)則分別進行指定。SQL Server 的早期版本還支持每個代碼頁有不同數(shù)目的排序次序,并為某些代碼頁提供 Windows 區(qū)域設(shè)置中沒有的排序次序。在 SQL Server 7.0 中,還可以指定為非 Unicode 數(shù)據(jù)選擇的排序次序以外的其它 Unicode 排序次序。這會導致在使用與非 Unicode 數(shù)據(jù)相對的 Unicode 數(shù)據(jù)時,排序和比較操作返回不同的結(jié)果。

日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美激情99| 麻豆国产欧美一区二区三区| caoporn视频在线| 国产精品多人| 久久精品三级| 国产精品99一区二区三| 国产一区二区三区成人欧美日韩在线观看 | 激情欧美一区| 97人人精品| 日韩欧美1区| 99久精品视频在线观看视频| 久久精品官网| 亚洲精品一二三区区别| 亚洲精品va| 午夜一级久久| 日韩一区二区三区高清在线观看 | 少妇高潮一区二区三区99| 一区二区电影| 91亚洲无吗| 欧美国产另类| 五月激情久久| 亚洲夜间福利| 免费日韩精品中文字幕视频在线| 亚洲精品成人一区| 国产精品麻豆成人av电影艾秋 | 国产亚洲激情| 亚洲精品动态| 麻豆精品一区二区综合av| 国产一区二区色噜噜| 色婷婷色综合| 国内精品99| 蜜桃久久av一区| 国产欧美欧美| 成人自拍av| 伊人久久婷婷| 欧美日韩xxxx| 午夜影院一区| 免费日本视频一区| 国产调教一区二区三区| 久久精品国产久精国产爱| 亚洲成人va| 蜜桃一区二区三区在线观看| 国产精品久久久免费| 日本免费一区二区三区四区| 欧美午夜不卡影院在线观看完整版免费| 蜜臀久久久久久久| 免费在线日韩av| 国产高清久久| 国产欧美在线| 精精国产xxxx视频在线播放| 亚洲一区二区三区四区电影| 欧美国产先锋| 亚洲欧洲一区| 久久免费影院| 日韩在线卡一卡二| 日韩1区2区| 亚洲三级网址| 欧美成人a交片免费看| 亚洲一区二区三区中文字幕在线观看| 麻豆91小视频| 蜜桃久久精品一区二区| 日韩1区2区| 日韩手机在线| 美女网站视频一区| 综合精品一区| 国产资源在线观看入口av| 久久亚洲色图| 久久男人av资源站| 亚洲精品福利| 韩国精品主播一区二区在线观看| 亚洲精品麻豆| 欧美日韩尤物久久| 国产伦精品一区二区三区千人斩| 久久中文字幕二区| 国产免费播放一区二区| 激情欧美一区| 欧美黄色一区| 蜜桃视频一区二区三区| 福利视频一区| 亚洲欧美久久精品| 亚洲黄色中文字幕| 国产精品地址| 亚洲欧美日本国产| 好看的av在线不卡观看| 国产精品成人a在线观看| 欧美日韩亚洲一区在线观看| 91国语精品自产拍| 亚洲黄色免费av| 国产精品xxx| 丝袜美腿亚洲色图| 99精品综合| 日韩福利一区| 国产一区二区三区四区大秀| 日本aⅴ亚洲精品中文乱码| 久久九九99| 黄毛片在线观看| 国产精品最新| 欧美日韩一区二区三区不卡视频 | 欧美伊人久久| 综合激情视频| 香蕉久久国产| 狠狠色综合网| 亚洲电影在线| 国产中文在线播放| 精品女同一区二区三区在线观看| 欧美日韩中出| 日韩va亚洲va欧美va久久| 蜜乳av另类精品一区二区| 99精品视频精品精品视频| 精品欧美一区二区三区在线观看| 福利一区二区| 久久久久免费| 日韩av免费大片| 国产精品高颜值在线观看| 老司机精品视频在线播放| 国产美女亚洲精品7777| 欧美欧美黄在线二区| 国产日韩一区| 日韩三级一区| 欧美一区激情| 免费一区二区三区在线视频| 国产极品一区| 久久久久九九精品影院| 欧美有码在线| 欧美偷窥清纯综合图区| 清纯唯美亚洲综合一区| 91精品在线免费视频| 偷拍亚洲精品| 国产欧美一区二区色老头| 欧美国产先锋| 中文在线а√在线8| 精品三级久久| 欧美日韩国产在线一区| 午夜精品影院| 久热re这里精品视频在线6| 在线精品亚洲| 久久狠狠久久| 国产劲爆久久| 日韩av福利| 99国产成+人+综合+亚洲欧美| 99re国产精品| 日韩精品久久久久久久软件91| 国产欧美一区二区色老头| 国内在线观看一区二区三区| 成人午夜精品| 伊人精品在线| 日韩av中文字幕一区二区三区| 国产精品大片| 国产精品二区不卡| 欧美福利专区| 日本一区中文字幕| 麻豆精品视频在线观看免费| 国产在线看片免费视频在线观看| 欧美日韩国产一区二区三区不卡 | 精品视频在线一区二区在线| 日韩三区在线| 蜜桃视频免费观看一区| 国产精品欧美一区二区三区不卡| 国产乱人伦丫前精品视频 | 美女性感视频久久| 亚洲高清二区| 亚洲v天堂v手机在线| 国产精品玖玖玖在线资源| 亚洲日本网址| 在线精品亚洲| 国产成人免费精品| 女人天堂亚洲aⅴ在线观看| 日韩欧美中文字幕在线视频| 免费视频一区二区三区在线观看 | 日本成人精品| 国产一区二区三区四区二区 | 国产精品porn| 久久在线视频免费观看| 日韩欧美高清一区二区三区| 久久影院一区二区三区| 夜久久久久久| 国产精品大片免费观看| 不卡在线一区| 欧美国产精品| 黄色av日韩| 国产精品对白久久久久粗| 亚洲午夜91| 一区二区三区四区在线观看国产日韩 | 91精品99| 国产色99精品9i| 免费污视频在线一区| 亚洲va久久| 色88888久久久久久影院| 亚洲欧美在线专区| 神马午夜久久| 国产精品夜夜夜| 一区免费在线| 成人午夜在线| 综合国产精品| 日韩欧美一区二区三区在线视频 | 国产99亚洲| 日韩av中文字幕一区二区| 亚洲成人av观看| 国产日韩欧美三区| 欧美~级网站不卡|