❶ 怎樣寫sql語句 能把mysql中欄位簡體轉變成繁體
將mysql資料庫的字元集設置如下所示:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
通過cmd命令行連上mysql上,設置顯示字元集為latin1.
set names 'latin1';
此時再用select查詢weather數據表,繁體中文正常顯示
select * from weather;
具體SQL語句的編寫 推薦樓主找本資料庫的書看看就知道了
❷ 怎樣寫sql語句 能把mysql中欄位簡體轉變成繁體
這個貌似做不了,不管你存什麼,mysql只會以指定的編碼和數據類型寫入到系統文件中,具體是簡體還是繁體,是沒法判斷的,你只能整段去替換,
❸ sql資料庫中如何把表中的內容繁體字轉換為簡體字
SQL本身應該沒有這種函數。只能通過另外連接一個繁體字與簡體字的對照表。
❹ 在sql server 中有什麼辦法可以將表內容批量由繁體轉換成簡體
這個雖然沒有使用過,看到你的問題後 我幫你找點資料 希望能幫助你1!
大家在使用SQL的資料庫過程中,會有簡體中文和繁體中文兩種版本。本文介紹了如何在SQL Server資料庫中混合使用簡繁體數據。
比如在這個專案使用的SQLServer是繁體中文版的,但是需要使用到另一個使用簡體中文版SQLServer專案的數據,我按照通常的做法把簡體中文版SQL Server中的一個數據表導入到現在使用的繁體中文版SQLServer中,結構和數據都導入成功了。我一開始並沒有意識到這樣做會有什麼問題。接
下來我開始調試SQL語句,其實是一個很簡單的兩表關聯數據選擇大致如下:
select table1.*,table2.*
from table1
inner join table2 on table2.FK = table1.PK
照理說這么簡單的語句沒道理會出什麼問題,不過在查詢分析器裡面始終提示如下的錯誤伺服器: 消息 446,級別 16,狀態 9,行 1無法解析 equal to 動作的定序沖突。
後來搜索了一下,然後又看了一下T-SQL的幫助,才知道原來是因為我將簡體中文sql server中的數據表導入到繁體中文的數據表中的是後,連同原數據的排序方式一並導入,導致了簡體數據表的排序方式依然是簡體,所以無法進行比較,從而出錯。解決的辦法是指名排序方式,告訴查詢分析器應該怎樣排序即可。這里會需要用到一個關鍵字 COLLATE Coliate 在SQLServer聯機叢書中是這樣解釋的:
COLLATE一個子句,可應用於資料庫定義或列定義以定義排序規則,或應用於字元串表達式以應用排序規則投影。
語法:
COLLATE < collation_name >
< collation_name > ::=
{ Windows_collation_name } | { SQL_collation_name }
參數
collation_name
是應用於表達式、列定義或資料庫定義的排序規則的名稱。collation_name 可以只是指定的Windows_collation_name 或 SQL_collation_name。
Windows_collation_name 是Windows 排序規則的排序規則名稱。請參見Windows排序規則名稱。
SQL_collation_name 是 SQL 排序規則的排序規則名稱。請參見 SQL 排序規則名稱。
那麼我們怎麼可以知道當前的排序規則名稱是什麼呢,其實這個排序規則名稱是我們在創建資料庫(實例)的時候就可以進行選擇的,不過通常情況下我們都會默認原來的設定,不會對其進行變更,所以如果是簡體中文的SQLServer就會默認的使用簡體中文的排序規則,而如果是繁體中文的SQL Server就會默認的使用繁體中文的排序規則。我們在察看資料庫(實例)的屬性時,常規頁簽的最下面一行就是當前的排序規則。在默認的情況下,簡體中文的排序規則名稱是:Chinese_PRC_CI_AS,而繁體中文的排序規則名稱則是:Chinese_Taiwan_Stroke_CI_AS,所以我們如果在有簡體繁體排序規則名稱混用的時候,只要聲明一下你當前要使用哪種排序規則進行比較就可以了,例如針對上面的那個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
說了半天如何解決排序規則沖突引起的問題,如果還有興趣的話,下面把sql server聯機叢書裡面關於排序規則的概念貼出來給大家分享一下,省得大家再去找:
Microsoft sql server 2000 支持多種排序規則。排序規則對控制正確使用語言(如馬其頓語或波蘭語)或字母表(如西歐語言使用的拉丁字母表 Latin1_General)字元的規則進行編碼。
每個 sql server 排序規則指定三個屬性:
用於 Unicode 數據類型(nchar、nvarchar 和 ntext)的排序次序。排序次序定義字元的排序序列,以及在比較操作中對字元取值的方法。
用於非 Unicode 字元數據類型(char、varchar 和 text)的排序次序。
用於存儲非 Unicode 字元數據的代碼頁。
說明不能指定與 Unicode 數據類型(nchar、nvarchar 和 ntext)對應的代碼頁。用於 Unicode 字元的雙位元組位模式由 Unicode 標準定義且不能更改。
可在任何級別上指定 sql server 2000 排序規則。安裝 SQL Server 2000 實例時,可指定該實例的默認排序規則。每次創建資料庫時,可指定用於該資料庫的默認排序規則。如果未指定排序規則,資料庫的默認排序規則即是實例的默認排序規則。無論何時定義字元列、變數或參數,都可指定這些對象的排序規則。如果未指定排序規則,將使用資料庫的默認排序規則創建這些對象。
如果 sql server 實例的所有用戶都使用同一種語言,則應選擇支持該語言的排序規則。例如,若所有用戶都講法語,則選擇法語排序規則。
如果 sql server 實例的用戶使用多種語言,則應選擇能對多語種需求提供最佳支持的排序規則。例如,如果用戶一般都講西歐語言,則選擇 Latin1_General 排序規則。當支持使用多種語言的用戶時,對所有字元數據都使用 Unicode 數據類型 nchar、nvarchar 和 ntext 最為重要。
Unicode 旨在消除非 Unicode char、varchar 和 text 數據類型的代碼頁轉換困難。因為排序規則定義用於比較操作的排序次序和 Unicode 字元的排序,所以當用 Unicode 數據類型實現所有的列時,排序規則仍會產生不同。即使當使用 Unicode 數據類型存儲字元數據時,也應選擇支持大多數用戶的排序規則,以防使用非 Unicode 數據類型實現列或變數。
sql server 排序規則定義資料庫引擎存儲和操作字元及Unicode 數據的方式。然而,當數據移入應用程序後,在應用程序中進行的字元排序和比較將由計算機上選定的 Windows 區域設置控制。應用程序使用的字元數據排序規則是由 Windows 區域設置控制的項目之一,區域設置還定義其它項目,如數字、時間、日期和貨幣格式。對於 Microsoft Windows NT 4.0、Microsoft Windows 98 和 Microsoft Windows 95,可使用控制面
板中的"區域設置"應用程序指定 Windows 區域設置。對於 Microsoft Windows 2000,可使用"控制面板"中的"區域選項"應用程序指定區域設置。
有關 Windows 區域設置的更多信息,請參見 Microsoft Web 站點 MSDN? 頁中的 Developing International Software for Windows 95 and Windows NT 4.0。
多個排序規則可對非 Unicode 數據使用相同的代碼頁。例如,代碼頁 1251 定義西里爾語字元集。多個排序規則(如 Cyrillic_General、Ukrainian 和 Macedonian)都使用該代碼頁。雖然這些排序規則都使用相同的位集來表示非 Unicode 字元數據,但在處理字典定義時所應用的排序和比較規則略有不同,而字典定義確定語言或字母表中與排序規則相關的正確字元序列。
因為sql server 2000排序規則控制 Unicode 和非 Unicode 排序次序,所以不會遇到由為 Unicode 和非 Unicode 數據指定不同的排序規則而引起的問題。在 SQL Server 的早期版本中,對代碼頁號、字元排序次序和 Unicode 排序規則分別進行指定。SQL Server 的早期版本還支持每個代碼頁有不同數目的排序次序,並為某些代碼頁提供 Windows 區域設置中沒有的排序次序。在 SQL Server 7.0 中,還可以指定為非 Unicode 數據選擇的排序次序以外的其它 Unicode 排序次序。這會導致在使用與非 Unicode 數據相對的 Unicode 數據時,排序和比較操作返回不同的結果。
❺ 怎樣使SQL Server 同時支持簡體和繁體
簡體中文的排序規則名稱是:Chinese_PRC_CI_AS,
繁體中文的排序規則名稱則是:Chinese_Taiwan_Stroke_CI_AS
更改資料庫定序:
ALTER
DATABASE
DatabaseName
SET
SINGLE_USER
WITH
ROLLBACK
IMMEDIATE
ALTER
DATABASE
DatabaseName
COLLATE
Chinese_Taiwan_Stroke_CI_AS
ALTER
DATABASE
DatabaseName
SET
MULTI_USER
WITH
ROLLBACK
IMMEDIATE
修改資料庫定序為
Chinese_PRC_CI_AS
ALTER
DATABASE
DatabaseName
SET
SINGLE_USER
WITH
ROLLBACK
IMMEDIATE;
ALTER
DATABASE
DatabaseName
COLLATE
Chinese_PRC_CI_AS;
ALTER
DATABASE
DatabaseName
SET
MULTI_USER;
--
修改資料表定序為
Chinese_PRC_CI_AS
ALTER
TABLE
tableName
ALTER
COLUMN
colName
nvchar(length)
COLLATE
Chinese_PRC_CI_AS;
注意,修改資料庫的定序設定,並不會變更該資料庫內既有物件的定序設定.
❻ sqlinsert裡面有繁體字
沒有具體的SQL語句,但是可以通過更改字元集來實現在SQL insert語句中使用繁體字,例如設置字元集為「GBK」或「BIG5」,即可在SQL insert語句中插入繁體字。
❼ 在SQL中,怎樣把資料庫資料有繁體轉換為簡體呢
有個好辦法,在繁體下,轉換成access 格式的文件,復制到簡體下,是可以正常識別的
我測試過,非常方便