![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисляемое поле в 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]
Лучше перепроектировать структуру БД и хранить номер диска в отдельном поле. Вам ведь потом еще и поиск/фильтрация по номеру понадобятся, я знаю :)