Главная страница
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.009 c
1-12426
Raki
2004-02-15 00:28
2004.03.05
Форма внизу Z order.


9-12223
lokid7
2003-08-18 13:08
2004.03.05
Скелетная анимация


3-12286
CrossOut
2004-02-07 19:04
2004.03.05
Запрос к базе


14-12535
syte_ser78
2004-02-12 11:35
2004.03.05
Определение даты


3-12267
Виталя
2004-02-09 09:43
2004.03.05
Как програмно получить список ролей, данного пользователя ?