Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.05;
Скачать: CL | DM;

Вниз

Вычисляемое поле в SQL   Найти похожие ветки 

 
Ricko   (2004-02-09 13:20) [0]

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


 
Sandman25 ©   (2004-02-09 13:23) [1]

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


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

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


 
sniknik ©   (2004-02-09 13:56) [3]

например

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) [4]

>Ricko

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


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

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


 
Johnmen ©   (2004-02-09 15:35) [6]

>Ricko (09.02.04 14:21) [5]

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


 
Ricko ©   (2004-02-09 15:52) [7]

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


 
Sandman25 ©   (2004-02-09 16:03) [8]

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



Страницы: 1 вся ветка

Текущий архив: 2004.03.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
7-12552
KSergey
2003-11-02 08:07
2004.03.05
Буфер обмена


3-12236
uu
2004-02-08 10:59
2004.03.05
Как создать базу SQL запросом?


3-12276
Unknown
2004-02-08 12:18
2004.03.05
База данных без BDE?


7-12551
man
2003-12-17 10:42
2004.03.05
как остановить сервис из самого сервиса


4-12582
Aleksandr
2003-12-26 18:46
2004.03.05
Как послать другому приложению строку?