powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замена нечисловых символов на пустой ''
6 сообщений из 6, страница 1 из 1
Замена нечисловых символов на пустой ''
    #40000710
Aleksandr_888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Извиняюсь за очень простой вопрос (для большинства).

Как в столбце заменить все нечисловые символы на пустые и сделать столбец числовым.
Допустим, что я не знаю все нечисловые значения в столбце.

Попробовал так, но толку 0.

Код: sql
1.
2.
select phone, replace(phone,'%[^0-9]%','') as phone2
from Sales.Customers



Что прочитать, чтобы понять?
...
Рейтинг: 0 / 0
Замена нечисловых символов на пустой ''
    #40000724
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
declare @n table( n int primary key);
insert @n
select 1
 union all 
select 2
 union all 
select 3
 union all 
select 4
 union all 
select 5
 union all 
select 6
 union all 
select 7
 union all 
select 8
 union all 
select 9
 union all 
select 10
;

declare @s nvarchar(10);
set @s = N'--1f,c345';


with s as ( select s = @s )
  select * from s;

with s as ( select s = @s )
   , c as ( select c = substring(s, n, 1), n from s inner join @n on n between 1 and len(s) )
  select * from c;

with s as ( select s = @s )
   , c as ( select c = substring(s, n, 1), n from s inner join @n on n between 1 and len(s) )
   , d as ( select c, n from c where c in (N'1', N'2', N'3', N'4', N'5') )
  select * from d;

with s as ( select s = @s )
   , c as ( select c = substring(s, n, 1), n from s inner join @n on n between 1 and len(s) )
   , d as ( select c, n from c where c in (N'1', N'2', N'3', N'4', N'5') )
  select nums = (select c + '' from d order by n for xml path(''));
  
...
Рейтинг: 0 / 0
Замена нечисловых символов на пустой ''
    #40000728
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мощно ты ща задвинул! Внушает (с)
...
Рейтинг: 0 / 0
Замена нечисловых символов на пустой ''
    #40000806
Агрох
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай про регулярные выражения.
...
Рейтинг: 0 / 0
Замена нечисловых символов на пустой ''
    #40000948
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Замена нечисловых символов на пустой ''
    #40001049
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222, ну ужас же!
... он же кошмар.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Declare @s varchar(255) = '111922233+3/44--45556667778889990001234567890123555666779'

select n.n as [text()]
from 
	(values (@s)) t(s)
	inner join master..spt_values v on type = 'P'
	cross apply (values (substring(t.s, v.number, 1))) n(n)
Where n.n > '' and n.n like '[0-9]'
Order by v.number
For xml path('')
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замена нечисловых символов на пустой ''
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]