![]() |
|
Модераторы: skyboy |
![]()
|
|
| andrey_pro |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.9.2007 Репутация: нет Всего: нет |
Есть таблица T, в ней колонка column
все записи в колонке такого вида: 'D:\name\title.txt' 'D:\name\body.txt' и т.д мне нужно изменить все на такой вид: 'title.txt' 'body.txt' т.е. убрать 'D:\name\' как это можно сделать? |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Вариантов много...
Например, мжноо это сделать на стороне клиента. Если мне не изменяет память тот же C++ Builder имеет функцию, которая позволяет из полного пути извлекать имя файла. Думаю, что другие инструменты тоже снабжены чем то подобным. Ну а если реализовать это средствами DML, то это может выглядеть как-нибудь так: MS SQL Server 2005
Т.е. выбираем перевернутую задом-на-перед (reverse) подстроку (substring) из перевернутого задом-на-перед (reverse) значения с позиции 1 и до той позиции (charindex), которая у символа '/' в перевернутом задом-на-перед (reverse) значении. Это сообщение отредактировал(а) Gluttton - 17.3.2010, 19:41 -------------------- Слава Україні! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 15 Всего: 260 |
если буквально "убрать d:\name" то можно сделать нечто вроде replace(column, "d:\name", "")
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Если ВЕЗДЕ именно 'D:\name\' и никак иначе - то взять substr с 9-ого символа до конца строки.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| andrey_pro |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.9.2007 Репутация: нет Всего: нет |
вот составил запрос на обновление:
UPDATE T Set col = (SELECT RIGHT(col, LEN(col) - InStr(col, '\')) FROM T) Пишет такое: В операции должен использоваться обновляемый запрос. не понятно как решать. |
|||
|
||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
лишнее... Как то так нужно:
-------------------- Слава Україні! |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |