Помогите, пожалуйста, составить запрос (#2)

Ranger
Дата: 09.10.2003 17:20:09
Как, с помощью SQL-запроса можно удалить все буквы из символьного поля, оставив только цифры.

Например имеется исходная таблица:

у поля P2 - тип char[10]

P1| P2
1 | 12
2 | 222
3 | 123
4 | 122T
5 | 321G
6 | 213
7 | 289

нужно получить

P1| P2
1 | 12
2 | 222
3 | 123
4 | 122
5 | 321
6 | 213
7 | 289
tpg
Дата: 10.10.2003 06:25:21
Напиши функцию, которая из строки будет удалять буквы и оставлять цифры. \r
Как? Глянь здесь пример от SergSuper
Ranger
Дата: 10.10.2003 11:54:10
SergSuper писал:

set nocount on

declare @c table(c char)
declare @i int

set @i=1
while @i<255
begin
insert @c select char(@i) where char(@i) not like '[0-9]'
set @i=@i+1
end

declare @str varchar(200)
set @str = '!3"№24234;%:24?*()@#$%^&*/|+-_'

-- собствено "чёх"
select @str=replace(@str, c,'') from @c
select @str



Пример от SergSuper действительно супер, но с одной строкой все просто.
А если нужно над всеми записями такую операцию провернуть

UPDATE Table1 SET Pole1 = NewPole1Value WHERE ISNUMERIC(Pole1)=0

Как получить NewPole1Value?
tpg
Дата: 10.10.2003 11:57:09
Сделай UDF, в которую будешь посылать значение колонки Р2, а получать от неё это значение без буков.
Ranger
Дата: 10.10.2003 14:03:54
Всем спасибо, получилось!!!