Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 15603|Yanıt: 0

[Kaynak] SQL Server alanları yalnızca Çince karakterler, harfler ve sayılar içerebilir

[Bağlantıyı kopyala]
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
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com