Sayısal olmayan verileri SQL'de bir varchar'dan kaldırmanın en iyi yolunu buluyorum.Sayısal olmayan verileri bir sayının dışına çıkarma + SQL
'(082) 000-0000' to '0820000000' or
'+2782 000 0000' to '0820000000'
zorluk her zaman yukarıda gösterildiği gibi neyi sayı biçimleri, geliyor emin değilim, bu yüzden aslında kaldırılmış bir sayı değil her şey gibi istiyorum.
Güncelleme: siz bu biraz başak yapmış olduğunu söyledi kadarıyla
:
declare @Num varchar(20)
set @Num = ' + (82) 468 6152 '
--strip nonnumrical data out of @num
print @Num
set @Num = replace(@Num, ' ', '')
set @Num = replace(@Num, '+', '')
set @Num = replace(@Num, '-', '')
set @Num = replace(@Num, '(', '')
set @Num = replace(@Num, ')', '')
print @Num
sağ olsa yerine [^ 0-9] ifadesini alınamadı.
ms sql kullanıyor musunuz? –
Ah, başka bir Güney Afrika (ya da en azından Güney Afrika ile ilgilenen biri) SO buluyor –
Üzgünüm Çocuklar, Evet MS SQL kullanıyorum;) –