Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 удалить из строки число справа от $  [new]
lex871
Member

Откуда:
Сообщений: 54
Здравствуйте ,подскажите пожалуйста, как можно из строки в sql стереть из таблицы name все что справа с $ включая последние пробелы
name
12$130 $130
13123$130 $130
124124124 $130 $130
чтобы получилось вот так

name
12
13123
124124124
28 мар 18, 14:00    [21293132]     Ответить | Цитировать Сообщить модератору
 Re: удалить из строки число справа от $  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
lex871,
DECLARE @a varchar(255) = '124124124 $130 $130'

SELECT CASE WHEN CHARINDEX('$',@a) <> 0 THEN SUBSTRING(@a,0,CHARINDEX('$',@a)) ELSE @a END
28 мар 18, 14:05    [21293155]     Ответить | Цитировать Сообщить модератору
 Re: удалить из строки число справа от $  [new]
lex871
Member

Откуда:
Сообщений: 54
TaPaK
lex871,
DECLARE @a varchar(255) = '124124124 $130 $130'

SELECT CASE WHEN CHARINDEX('$',@a) <> 0 THEN SUBSTRING(@a,0,CHARINDEX('$',@a)) ELSE @a END


Спасибо за ответ. А как его можно прикрутить в цикл?
select * from [user].[dbo].[Street]
и в ней столбец name....
28 мар 18, 14:09    [21293180]     Ответить | Цитировать Сообщить модератору
 Re: удалить из строки число справа от $  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
lex871,

SELECT [old] = name, [new] = CASE WHEN CHARINDEX('$',name) <> 0 THEN SUBSTRING(name,0,CHARINDEX('$',name)) ELSE name END
FROM [user].[dbo].[Street]
28 мар 18, 14:10    [21293186]     Ответить | Цитировать Сообщить модератору
 Re: удалить из строки число справа от $  [new]
lex871
Member

Откуда:
Сообщений: 54
TaPaK
lex871,

SELECT [old] = name, [new] = CASE WHEN CHARINDEX('$',name) <> 0 THEN SUBSTRING(name,0,CHARINDEX('$',name)) ELSE name END
FROM [user].[dbo].[Street]

класс, спасибо большое! А как теперь это через update записать? Я просто не силён в sql....
28 мар 18, 14:12    [21293212]     Ответить | Цитировать Сообщить модератору
 Re: удалить из строки число справа от $  [new]
lex871
Member

Откуда:
Сообщений: 54
или так можно
set name=CASE WHEN CHARINDEX('$',name) <> 0 THEN SUBSTRING(name,0,CHARINDEX('$',name)) ELSE name END
28 мар 18, 14:13    [21293219]     Ответить | Цитировать Сообщить модератору
 Re: удалить из строки число справа от $  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
lex871,

UPDATE [user].[dbo].[Street]
SET name = SUBSTRING(name,0,CHARINDEX('$',name)) 
FROM [user].[dbo].[Street]
WHERE 
	CHARINDEX('$',name) <> 0 
28 мар 18, 14:14    [21293221]     Ответить | Цитировать Сообщить модератору
 Re: удалить из строки число справа от $  [new]
lex871
Member

Откуда:
Сообщений: 54
TaPaK
lex871,

UPDATE [user].[dbo].[Street]
SET name = SUBSTRING(name,0,CHARINDEX('$',name)) 
FROM [user].[dbo].[Street]
WHERE 
	CHARINDEX('$',name) <> 0 


спасибо большое! Вы очень помогли! хорошего дня
28 мар 18, 14:16    [21293235]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить