|
|
Yayınlandı 7.12.2018 13:24:31
|
|
|
|

Veritabanında bazı verileri sorgulamanız gerektiğinden, alan içeriği yalnızca Çince karakterler, harfler ve sayılar içerebilir ve özel semboller içermez (özel veriler hariç) Önce etkilerine bakalım, aşağıdaki gibi:
Kaynaklar:
Veritabanı SQL'in bir alanı sadece sayılar, harfler veya Çince karakterlerle nasıl sorgulaması
- Sadece sayı ve harfler içerir
Tablo adından sütun adını seçin, burada REGEXP_LIKE(sütun adı,'^([\u4e00-\u9fa5]+)$')
--Sadece Çince karakterler içerir
Tablo adından sütun adını seç burada length(column name)=length(ASCIISTR(column name))-length(replace(ASCIISTR(column name),'\',''))
Not: Asciistr() fonksiyonu, diziyi ASCII değerine dönüştürür ve eğer karakter ASCII kod tablosundaysa, karşılık gelen ASCII karakterine dönüştürülür; Eğer Çince ve tam genişlikli karakterler gibi bir karakter yoksa, bu format \xxxx formatına dönüştürülür.
length() fonksiyonu, Çin uzunluğunun 1 olduğunu, lengthb()'ye karşılık gelen Çince karakterinin ise 2 bayt olduğunu sayar. Yukarıdaki ifade, Çince karakter sayısını ASCII değerlerine dönüştürdükten sonra \ sayısıyla karşılaştırmaktır; eşitlerse, hepsinin Çince karakterleri olduğu anlamına gelir. (Tam genişlikli sembollerin etkisini dışlamak istiyorsanız, önce alanı yarı genişliğe çevirmeniz gerekir ve fonksiyon to_single_byte()).
sqlserver2008r2, Çin dışı alfanumerik sayıların ilk göründüğü konumu arıyor
Çevre: Test veritabanı sqlserver2008r2'nin Chinese_PRC_CI_AS bir sıralama yöntemi var ve başka ortamlarda denemedim Açıklama
Geri dönüş değeri: 4
Benim çözümüm
(Son)
|
Önceki:Ödül anketi, bu siteyi nasıl bildiniz?Önümüzdeki:Kendi gateway'inize geçin, iki ağ kartı varsa dahili ve harici ağlar aynı anda açık olur
|