Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 13630|Vastaus: 0

[Vinkkejä] Katso SQL-lauseet SQLserver-koodausmuodossa ja Sqlserver-kollointisäännöissä

[Kopioi linkki]
Julkaistu 27.10.2016 12.50.16 | | | |
VALITSE COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
Tässä ovat kyselytulokset:
936 kiinalainen yksinkertaistettu GBK
950 kiinalaista perinteistä BIG5-mallia
437 Yhdysvaltain/Kanadan englanti
932 japanilaiset
949 Korean
866 venäläinen
65001 unicode UFT-8




Kun asensimme SQL SERVER 2008:n, koska valitsimme oletusasennuksen, loimme senTietokannassa palvelimen valitsema oletuslajittelusääntö on SQL_Latin1_General_CP1_CI_AS kokoamissääntö, joten kun tekstiä lisätään datataulukkoon, sitä ei näytetä normaalisti, kaikki "? sen sijaan.
Kun luomme tietokannan, meidän täytyy manuaalisesti määritellä kokoamissääntö, joka voidaan valita Chinese_PRC_CI_AS kokoamiseksi, kuten alla olevassa kuvassa on esitetty





Lajittelusäännöt:
SQLSEVER2005:ssa käytetyt lajittelusäännöt ovat SQL_Latin1_General_CP1_CI_AS, eivät kolme lajittelusääntöä, jotka voivat näyttää yksinkertaistetut kiinalaiset merkit oikein:
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS。
Katso MS:n selitys collationista: Collation Rules Control Physical Storage of Strings in SQL Server 2005. Vertailusäännöt määrittelevät bittikuvion, joka edustaa kutakin merkkiä, sekä säännöt merkkien käytön tallentamiseen ja vertailuun.
Toisin sanoen SQLSERVERissä kokoaminen on itse asiassa merkkikoodausta.
Suorittamalla seuraavan lauseen kyselyanalysaattorissa saat kaikki SQL SERVERin tukemat vertailusäännöt.
Valitse * ::fn_helpcollations()
Kokouksen nimi koostuu kahdesta osasta, joista ensimmäinen viittaa tämän kokouksen tukemaan merkistöön.
Esimerkiksi: Chinese_PRC_CS_AI_WS
Ensimmäinen puolisko viittaa UNICODE-merkistöön ja Chinese_PRC_refers yksinkertaistetun kiinalaisen UNICODE-merkin lajittelusääntöihin.
Vertailun toinen puolisko on päätteen merkitys:
_BIN Binäärinen lajittelu
_CI(CS) Onko se kirjainkoon herkkä, CI ei herkkä ja CS herkkä
_AI (AS) Erotellaanko aksentit toisistaan, tekoäly ei erota toisistaan, AS erottaa
_KI(KS) Erotellaanko pseudonyymityypit toisistaan, KI ei erota, KS erottaa
_WI(WS) ei eroteta leveyttä, WS ei ole erotettu
Kirjainkoon herkkyys: Valitse tämä vaihtoehto, jos haluat vertailun käsittelevän isot ja pienet kirjaimet eriarvoisina.
Erottele aksentit: Valitse tämä vaihtoehto, jos haluat vertailla korostetut ja painottomat kirjaimet eriarvoisina. Jos valitset tuon vaihtoehdon, vertailu käsittelee myös eri aksentteja omaavia kirjaimia epätasa-arvoisina.
Erota Kana: Valitse tämä vaihtoehto, jos haluat vertailla Katakana- ja Hiraka-päivän tavuja epätasa-arvoisina.
Leveyden erottelu: Valitse tämä vaihtoehto, jos haluat vertailun käsittelevän puolileveitä ja täysleveitä merkkejä eriarvoisina.
Kun SQLSERVERin vertailusäännöt on ymmärretty, voidaan tehdä seuraavat johtopäätökset yllä olevasta ongelmasta:
1. Muokkaa SQLSERVER-käyttäjätietokantaa tukemaan kiinalaisten merkistöjen kokoamista.
2: Kun kiinalaiset merkit näytetään??, mutta et halua muuttaa lajittelusääntöjä tietokannassa ja halutaan näyttää kiinalaiset merkit oikein, suositellaan käyttämään kaikkia Unicode-tyyppikenttiä suunnittelussa, eli niitä kenttätyyppejä, jotka alkavat N:llä, kuten nChar, nVarchar, kiinalaisten merkkien näyttämiseksi oikein.
3: Jos et halua muuttaa kokoamissääntöä tai kenttätyyppiä, sinun täytyy muuttaa SQL-lausetta, ja kaikille kiinalaisille merkeille sinun täytyy myös lisätä N eteen, jotta se näkyy oikein. Katso seuraavat kaksi lausetta saadaksesi tarkat menetelmät:
Kysely: valitse * tb_Cust, missä FirstName=N'Wang'
Lisää: lisää tb_Cust(Etunimi, Sukunimi, Sukupuoli) arvot (N'Wang', N'Xinhao', N'Mies')
Huomautus: Tulevaisuudessa palvelintason kokoamissäännön muokkaaminen on hankalampaa SQLSERVER2000 jälkeen, ja on tarpeen rakentaa master-tietokanta uudelleen.

Tällä hetkellä jo luoduille tietokannoille voimme myös muuttaa kokoamismenetelmää tietokannan ominaisuusikkunan asetuksissa, jotta tekstiä lisättäessä datataulukkoon ei tule virheilmoituksia!





Edellinen:SQL määrittää, sisältääkö sarake kiinalaisia vai englanninkielisiä merkkejä
Seuraava:SQL määrittää, sisältääkö sarake kiinalaisia vai englanninkielisiä merkkejä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com