Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 15603|Atbildi: 0

[Avots] SQL Server laukos var būt tikai ķīniešu valodas rakstzīmes, burti un skaitļi

[Kopēt saiti]
Publicēts 07.12.2018 13:24:31 | | | |
Tā kā datu bāzē ir jāvaicā daži dati, lauka saturs var saturēt tikai ķīniešu valodas rakstzīmes, burtus un ciparus, un tajā nedrīkst būt speciāli simboli (izņemot īpašos datus)
Vispirms apskatīsim sekas šādi:




Resursu:

Kā datu bāze sql vaicā laukā, kurā ir tikai cipari un burti vai ķīniešu rakstzīmes

- Satur tikai ciparus un burtus

Atlasiet kolonnas nosaukumu no tabulas nosaukuma, kur REGEXP_LIKE(kolonnas nosaukums,'^([\u4e00-\u9FA5]+)$')

--Satur tikai ķīniešu rakstzīmes

atlasiet kolonnas nosaukumu no tabulas nosaukuma, kur length(kolonnas nosaukums)=length(ASCIISTR(kolonnas nosaukums))-length(replace(ASCIISTR(kolonnas nosaukums),'\',''))


Piezīmes: Funkcija asciistr() pārvērš virkni ASCII vērtībā, un, ja rakstzīme atrodas ASCII kodu tabulā, tā tiks pārvērsta par atbilstošo ASCII rakstzīmi; Ja tādu rakstzīmju nav, piemēram, ķīniešu un pilna platuma rakstzīmes, tas tiks konvertēts \xxxx formātā.


Funkcija length() skaitās, ka ķīniešu garums ir 1, un ķīniešu rakstzīme, kas atbilst lengthb(), ir 2 baiti. Iepriekš minētais apgalvojums ir salīdzināt ķīniešu rakstzīmju skaitu ar \ skaitu pēc konvertēšanas uz ASCII vērtībām, ja tās ir vienādas, tas nozīmē, ka tās visas ir ķīniešu rakstzīmes. (Ja vēlaties izslēgt pilna platuma simbolu ietekmi, vispirms lauks jāmaina uz pusi platuma, un funkcija ir to_single_byte()).



sqlserver2008r2 meklē pirmo pozīciju, kur parādās burtciparu skaitļi, kas nav ķīniešu valoda

Vide:
Testa datu bāzei sqlserver2008r2 ir Chinese_PRC_CI_AS šķirošanas metode, un es to neesmu izmēģinājis citās vidēs
Paziņojums


Atgrieztā vērtība: 4

Mans risinājums

(Beigas)





Iepriekšējo:Balvu anketa, kā jūs uzzinājāt par šo vietni?
Nākamo:Modificējiet uz savu vārteju, un iekšējie un ārējie tīkli ir ieslēgti vienlaicīgi, ja ir divas tīkla kartes
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com