|
|
Paskelbta 2018-12-07 13:24:31
|
|
|
|

Kadangi duomenų bazėje reikia pateikti užklausą, lauko turinyje gali būti tik kinų kalbos simboliai, raidės ir skaičiai, taip pat negali būti specialių simbolių (išskyrus specialiuosius duomenis) Pirmiausia pažvelkime į poveikį taip:
Išteklių:
Kaip duomenų bazės sql užklausas lauke tik su skaičiais ir raidėmis arba kinų simboliais
- Sudėtyje yra tik skaičiai ir raidės
Pasirinkite stulpelio pavadinimą iš lentelės pavadinimo, kur REGEXP_LIKE(stulpelio pavadinimas,'^([\u4e00-\u9fa5]+)$')
--Yra tik kinų rašmenys
pasirinkite stulpelio pavadinimą iš lentelės pavadinimo, kur ilgis(stulpelio pavadinimas)=ilgis(ASCIISTR(stulpelio pavadinimas))-ilgis(pakeisti(ASCIISTR(stulpelio pavadinimas),'\',''))
Pastaba: Funkcija asciistr() konvertuos eilutę į ASCII reikšmę, o jei simbolis yra ASCII kodų lentelėje, jis bus konvertuotas į atitinkamą ASCII simbolį; Jei jų nėra, pvz., kinų ir viso pločio simbolių, jis bus konvertuotas į \xxxx formatą.
Funkcija length() skaičiuoja, kad kinų kalbos ilgis yra 1, o kinų simbolis, atitinkantis lengthb(), yra 2 baitai. Aukščiau pateiktas teiginys yra palyginti kinų simbolių skaičių su \ skaičiumi konvertavus į ASCII reikšmes, jei jie yra lygūs, tai reiškia, kad jie visi yra kinų simboliai. (Jei norite pašalinti viso pločio simbolių įtaką, pirmiausia turite pakeisti lauką į pusę pločio, o funkcija yra to_single_byte()).
sqlserver2008r2 ieško pirmosios pozicijos, kurioje rodomi ne kiniški raidiniai ir skaitmeniniai skaičiai
Aplinka: Bandomoji duomenų bazė sqlserver2008r2 turi Chinese_PRC_CI_AS rūšiavimo metodą, ir aš jo nebandžiau kitose aplinkose Pareiškimas
Grąžinama vertė: 4
Mano sprendimas
(Pabaiga)
|
Ankstesnis:Prizo klausimynas, kaip jūs žinojote apie šią svetainę?Kitą:Modifikuokite į savo šliuzą, o vidiniai ir išoriniai tinklai bus įjungti tuo pačiu metu, jei yra dvi tinklo plokštės
|