Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 13630|Jawab: 0

[Kiat] Melihat pernyataan SQL dalam format pengkodean SQLserver dan aturan kolase Sqlserver

[Salin tautan]
Diposting pada 27/10/2016 12.50.16 | | | |
PILIH COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
Berikut adalah hasil kueri:
936 GBK Sederhana Cina
950 BIG5 Tradisional Cina
437 Bahasa Inggris AS/Kanada
932 Jepang
949 Korea
866 Rusia
65001 unicode UFT-8




Saat menginstal SQL SERVER 2008, karena kami memilih penginstalan default, kami membuatnyaSaat database, aturan penyortiran default yang dipilih oleh server adalah aturan kolase SQL_Latin1_General_CP1_CI_AS, sehingga saat memasukkan teks ke dalam tabel data, itu tidak akan ditampilkan secara normal, semua dengan "? sebagai gantinya.
Kemudian, ketika kita membuat database, kita perlu menentukan aturan kolase secara manual, yang dapat dipilih sebagai kolase Chinese_PRC_CI_AS, seperti yang ditunjukkan pada gambar di bawah ini





Aturan penyortiran:
Aturan penyortiran yang digunakan dalam SQLSEVER2005 adalah SQL_Latin1_General_CP1_CI_AS, bukan tiga aturan penyortiran yang dapat menampilkan karakter Cina sederhana dengan benar:
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS。
Lihatlah penjelasan MS tentang kolase: Aturan Kolase Mengontrol Penyimpanan Fisik String di SQL Server 2005. Aturan kolase menentukan pola bit yang mewakili setiap karakter dan aturan untuk menyimpan dan membandingkan penggunaan karakter.
Artinya, di SQLSERVER, kolasi sebenarnya adalah pengkodean karakter.
Dengan menjalankan pernyataan berikut dalam penganalisis kueri, Anda bisa mendapatkan semua aturan kolase yang didukung oleh SQL SERVER.
Pilih * dari ::fn_helpcollations()
Nama kolase terdiri dari dua bagian, bagian pertama mengacu pada set karakter yang didukung oleh kolase ini.
Misalnya: Chinese_PRC_CS_AI_WS
Paruh pertama mengacu pada kumpulan karakter UNICODE, dan Chinese_PRC_refers ke aturan penyortiran untuk karakter Cina yang disederhanakan UNICODE.
Paruh kedua dari kolase adalah arti akhiran:
_BIN Penyortiran biner
_CI(CS) Apakah itu peka huruf besar/kecil, CI tidak sensitif, dan CS sensitif
_AI (AS) Apakah membedakan aksen, AI tidak membedakan, AS membedakan
_KI(KS) Apakah untuk membedakan antara jenis nama samaran, KI tidak, KS membedakan
_WI(WS) tidak dibedakan lebar, WS tidak dibedakan
Peka huruf besar/kecil: Pilih opsi ini jika Anda ingin perbandingan memperlakukan huruf besar dan huruf kecil sebagai tidak sama.
Membedakan aksen: Pilih opsi ini jika Anda ingin perbandingan memperlakukan huruf beraksen dan tidak ditekankan sebagai tidak sama. Jika Anda memilih opsi itu, perbandingan juga memperlakukan huruf dengan aksen berbeda sebagai tidak sama.
Bedakan Kana: Pilih opsi ini jika Anda ingin perbandingan memperlakukan suku kata Katakana dan Hari Hiraka sebagai tidak sama.
Diferensiasi lebar: Pilih opsi ini jika Anda ingin perbandingan memperlakukan karakter setengah lebar dan lebar penuh sebagai tidak sama.
Setelah memahami aturan kolase di SQLSERVER, kesimpulan berikut dapat ditarik untuk masalah di atas:
1. Modifikasi database pengguna SQLSERVER untuk mendukung penyusunan kumpulan karakter Cina.
2: Untuk tampilan karakter Cina??, tetapi tidak ingin mengubah aturan pengurutan pada database, dan ingin menampilkan karakter Cina dengan benar, disarankan untuk menggunakan semua bidang jenis Unicode dalam desain, yaitu jenis bidang yang dimulai dengan N, seperti nChar, nVarchar, untuk menampilkan karakter Cina dengan benar.
3: Jika Anda tidak ingin mengubah aturan kolase atau mengubah jenis bidang, maka Anda perlu mengubah pernyataan SQL, dan untuk semua karakter Cina, Anda juga harus menambahkan N di depan untuk menampilkannya dengan benar. Silakan lihat dua pernyataan berikut untuk metode tertentu:
Kueri: pilih * dari tb_Cust di mana FirstName=N'Wang'
Sisipkan: masukkan nilai tb_Cust(Nama Depan,Nama Belakang,Jenis Kelamin) (N'Wang',N'Xinhao',N'Male')
Catatan: Untuk masa mendatang, akan lebih merepotkan untuk memodifikasi aturan kolase tingkat server setelah SQLSERVER2000, dan perlu untuk membangun kembali database master.

Saat ini, untuk database yang sudah dibuat, kita juga dapat mengubah metode kolase di halaman opsi di jendela properti database, sehingga saat memasukkan teks ke dalam tabel data, tidak akan ada pesan kesalahan!





Mantan:SQL menentukan apakah kolom berisi karakter Cina atau Inggris
Depan:SQL menentukan apakah kolom berisi karakter Cina atau Inggris
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com