Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисляемое поле в SQL


Ricko ©   (2004-02-09 13:20:00) 

Есть таблица с полями: ID,Name,... В поле Name содержится такая информация: Имя_файла_[000], где [000] номер диска на котором этот файл записан. Как вычислить поле CD, чтобы в него попадало значение в скобках. Причем сделать это надо с помощью SQL запроса(MS SQL Server)


Sandman25   (2004-02-09 16:03:00) [1]

MSDN у Вас есть? Там описываются все строковые функции T-SQL.
ASCII NCHAR SOUNDEX
CHAR PATINDEX SPACE
CHARINDEX REPLACE STR
DIFFERENCE QUOTENAME STUFF
LEFT REPLICATE SUBSTRING
LEN REVERSE UNICODE
LOWER RIGHT UPPER
LTRIM RTRIM


Ricko   (2004-02-09 15:52:00) [2]

Да такая ситуация не возможна.
А вот информации о встроенных ф-ях со строками у меня нет.
Если не трудно то кинь аналоги Delphi"йских : POS,COPY


Johnmen   (2004-02-09 15:35:00) [3]

>Ricko (09.02.04 14:21) [5]

Т.е. в "имени" не может быть ни "[" ни "]" ? Невозможна ситуация " ds]fg[]hn[7]]bnx[000]jhh" ?
Ну что ж... Посмотри, какие есть встроенные ф-ии работы со строками...


Ricko   (2004-02-09 14:21:00) [4]

достаточный и необходимый признак - квадратные скобки []


sniknik   (2004-02-09 13:56:00) [5]

например

DECLARE @st Char(30)
DECLARE @i Int
SET @st = "Имя_файла_[000]"
SET @i = LEN(@st)
SELECT SUBSTRING(@st, @i-3, 3) AS xName


Johnmen   (2004-02-09 13:56:00) [6]

>Ricko

Каков достаточный и необходимый признак, что взяв 000, мы взяли то, что нужно ? (в смысле синтаксического разбора строки)


Ricko   (2004-02-09 13:40:00) [7]

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


Sandman25   (2004-02-09 13:23:00) [8]

Лучше перепроектировать структуру БД и хранить номер диска в отдельном поле. Вам ведь потом еще и поиск/фильтрация по номеру понадобятся, я знаю :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо