Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 15603|Antwoord: 0

[Bron] SQL Server-velden kunnen alleen Chinese karakters, letters en cijfers bevatten

[Link kopiëren]
Geplaatst op 07-12-2018 13:24:31 | | | |
Omdat je bepaalde gegevens in de database moet opzoeken, mag de veldinhoud alleen Chinese karakters, letters en cijfers bevatten, en geen speciale symbolen bevatten (behalve speciale gegevens)
Laten we eerst naar de effecten kijken, als volgt:




Weg:

Hoe database-SQL een veld bevraagt met alleen cijfers en letters of Chinese karakters

- Bevat alleen cijfers en letters

Selecteer kolomnaam uit tabelnaam waar REGEXP_LIKE(kolomnaam,'^([\u4e00-\u9fa5]+)$')

--bevat alleen Chinese karakters

selecteer kolomnaam uit tabelnaam waarbij length(column name)=length(ASCIISTR(column name))-length(replace(ASCIISTR(column name),'\',''))


Opmerking: De asciistr()-functie zet de string om in een ASCII-waarde, en als het teken in de ASCII-codetabel staat, wordt het omgezet naar het overeenkomstige ASCII-teken; Als er geen zijn, zoals Chinese en full-width tekens, wordt deze omgezet naar \xxxx formaat.


De length()-functie telt dat de Chinese lengte 1 is, en het Chinese teken dat overeenkomt met lengthb() 2 bytes. De bovenstaande uitspraak is bedoeld om het aantal Chinese tekens te vergelijken met het aantal \ na het omzetten naar ASCII-waarden; als ze gelijk zijn, betekent dit dat het allemaal Chinese karakters zijn. (Als je de invloed van full-width symbolen wilt uitsluiten, moet je eerst het veld veranderen naar halve breedte, en de functie is to_single_byte()).



sqlserver2008r2 zoekt naar de eerste positie waar niet-Chinese alfanumerieke getallen voorkomen

Omgeving:
De testdatabase sqlserver2008r2 heeft een sorteermethode van Chinese_PRC_CI_AS, en ik heb het in andere omgevingen niet geprobeerd
Stelling


Retourwaarde: 4

Mijn oplossing

(Einde)





Vorig:Prijsvragenlijst, hoe wist je van deze site?
Volgend:Pas aan naar je eigen gateway, en het interne en externe netwerk staan tegelijk aan, mits er twee netwerkkaarten zijn
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com