|
|
Publisert på 07.12.2018 13:24:31
|
|
|
|

Fordi du må spørre i noen data i databasen, kan feltinnholdet kun inneholde kinesiske tegn, bokstaver og tall, og kan ikke inneholde spesielle symboler (bortsett fra spesielle data) La oss først se på effektene, som følger:
Ressurser:
Hvordan database sql spør et felt med kun tall og bokstaver eller kinesiske tegn
- Inneholder kun tall og bokstaver
Velg kolonnenavn fra tabellnavn hvor REGEXP_LIKE(kolonnenavn,'^([\u4e00-\u9fa5]+)$')
--inneholder kun kinesiske tegn
velg kolonnenavn fra tabellnavn hvor length(column name)=length(ASCIISTR(column name))-length(replace(ASCIISTR(column name),'\',''))
Merk: asciistr()-funksjonen vil konvertere strengen til en ASCII-verdi, og hvis tegnet er i ASCII-kodetabellen, vil det bli konvertert til det tilsvarende tegnet i ASCII; Hvis det ikke finnes noen, som kinesiske og fullbreddetegn, vil det bli konvertert til \xxxx-format.
Length()-funksjonen teller at den kinesiske lengden er 1, og det kinesiske tegnet som tilsvarer lengthb() er 2 byte. Utsagnet ovenfor er for å sammenligne antall kinesiske tegn med antall \ etter konvertering til ASCII-verdier; hvis de er like, betyr det at de alle er kinesiske tegn. (Hvis du vil utelukke påvirkningen fra fullbreddesymboler, må du først endre feltet til halv bredde, og funksjonen er to_single_byte()).
sqlserver2008r2 ser etter den første posisjonen hvor ikke-kinesiske alfanumeriske tall forekommer
Miljø: Testdatabasen sqlserver2008r2 har en sorteringsmetode som Chinese_PRC_CI_AS, og jeg har ikke prøvd den i andre miljøer Utsagn
Avkastningsverdi: 4
Min løsning
(Slutt)
|
Foregående:Premiespørreskjema, hvordan visste du om dette nettstedet?Neste:Modifiser du til din egen gateway, er det interne og eksterne nettverket på samtidig, forutsatt at det er to nettverkskort
|