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

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

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

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



Что прочитать, чтобы понять?
...
Рейтинг: 0 / 0
21.09.2020, 06:05
    #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
21.09.2020, 07:07
    #40000728
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена нечисловых символов на пустой ''
Мощно ты ща задвинул! Внушает (с)
...
Рейтинг: 0 / 0
21.09.2020, 11:31
    #40000806
Агрох
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена нечисловых символов на пустой ''
Почитай про регулярные выражения.
...
Рейтинг: 0 / 0
21.09.2020, 15:04
    #40000948
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена нечисловых символов на пустой ''
...
Рейтинг: 0 / 0
21.09.2020, 16:53
    #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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Замена нечисловых символов на пустой '' / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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