See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 13630|Vastuse: 0

[Nõuanded] Vaata SQL-lauseid SQLserveri kodeerimisformaadis ja Sqlserveri kolleerimisreeglites

[Kopeeri link]
Postitatud 27.10.2016 12:50:16 | | | |
SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
Siin on päringu tulemused:
936 Hiina lihtsustatud GBK
950 Hiina traditsioonilist BIG5
437 USA/Kanada inglise keel
932 jaapanlased
949 Korea
866 vene
65001 unicode UFT-8




SQL SERVER 2008 paigaldamisel, kuna valisime vaikimisi paigalduse, lõime selleAndmebaasi puhul valib server vaikimisi sorteerimisreegli SQL_Latin1_General_CP1_CI_AS võrdlemise reegli, nii et teksti lisamisel andmetabelisse ei kuvata seda tavapäraselt, kõik "? selle asemel.
Seejärel, kui loome andmebaasi, peame käsitsi määrama võrdlusreegli, mida saab valida Chinese_PRC_CI_AS kolleerimisena, nagu alloleval joonisel näidatud





Sorteerimisreeglid:
SQLSEVER2005-s kasutatavad sorteerimisreeglid on SQL_Latin1_General_CP1_CI_AS, mitte kolm sorteerimisreeglit, mis suudavad lihtsustatud hiina märke õigesti kuvada:
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS。
Vaata MS-i selgitust kolleerimise kohta: Collation Rules Control Physical Storage of Strings in SQL Server 2005. Võrdlemisreeglid määravad iga tähemärgi bitimustri ning reeglid tähemärkide kasutamise salvestamiseks ja võrdlemiseks.
See tähendab, et SQLSERVERis on võrdlemine tegelikult märgikodeerimine.
Käivitades järgmise lause päringuanalüsaatoris, saad kõik SQL SERVERi toetatud kolleerimisreeglid.
Vali * ::fn_helpcollations()
Kolleerimise nimi koosneb kahest osast, esimene osa viitab selle kollatsiooni poolt toetatud tähemärgikogumikule.
Näiteks: Chinese_PRC_CS_AI_WS
Esimene pool viitab UNICODE märgistikule ja Chinese_PRC_refers lihtsustatud hiina märgi UNICODE sorteerimisreeglitele.
Teises pooles on järelliite tähendus:
_BIN Binaarne sorteerimine
_CI(CS) Kas see on väiketähtede tundlik, CI ei ole tundlik ja CS on tundlik
_AI (AS) Kas aktsente eristada, AI ei tee vahet, AS eristab
_KI(KS) Kas pseudonüümitüüpe eristada, KI ei erista, KS eristab
_WI(WS) ei ole laiuse järgi eristatud, WS ei ole eristatav
Tähetundlik: Vali see valik, kui soovid võrrelda, et suur- ja väiketähti ei ole võrdsed.
Erista aktsente: Vali see valik, kui soovid võrrelda, et käsitleda rõhutud ja rõhutamata tähti kui ebavõrdseid. Kui valid selle valiku, käsitleb võrdlus ka erinevate aktsenditega tähti ebavõrdsetena.
Erista Kana keelt: Vali see valik, kui soovid võrrelda Katakana ja Hiraka päeva silpe ebavõrdsetena.
Laiuse diferentseerimine: Vali see valik, kui soovid, et võrdlus käsitleks pool- ja täislaiuse tähemärke ebavõrdsetena.
Pärast SQLSERVERI võrdlusreeglite mõistmist saab ülaltoodud probleemi puhul teha järgmised järeldused:
1. Muuda SQLSERVERI kasutajate andmebaasi, et toetada hiina tähemärkide võrdlemist.
2: Hiina tähemärkide kuvamiseks??, kuid ei soovi muuta sorteerimisreegleid andmebaasis ja soovida hiina tähemärke õigesti kuvada, soovitatakse kasutada kõiki disainis olevaid Unicode'i tüüpe, st neid väljatüüpe, mis algavad tähega N, nagu nChar, nVarchar, et hiina tähemärgid õigesti kuvada.
3: Kui sa ei soovi muuta võrdlemisreeglit ega välja tüüpi, siis pead muutma SQL-lauset ning kõigi hiina märkide puhul tuleb lisada ette ka N, et see õigesti kuvada. Palun vaadake järgmisi kahte väidet konkreetsete meetodite kohta:
Päring: vali * tb_Cust, kus FirstName=N'Wang'
Lisa: sisesta tb_Cust(Eesnimi, Perekonnanimi, Sugu) väärtused (N'Wang',N'Xinhao',N'Mele')
Märkus: Tulevikus on serveritasandi võrdlemisreegli muutmine pärast SQLSERVER2000 keerulisem ning peamise andmebaasi taastamine on vajalik.

Praegu, kui andmebaasid on juba loodud, saame muuta võrdlemismeetodit ka andmebaasi omaduste aknas valikute lehel, nii et teksti lisamisel andmetabelisse ei tule veateadeid!





Eelmine:SQL määrab, kas veerg sisaldab hiina või inglise tähemärke
Järgmine:SQL määrab, kas veerg sisaldab hiina või inglise tähemärke
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com