Главная страница
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.02 c
4-12582
Aleksandr
2003-12-26 18:46
2004.03.05
Как послать другому приложению строку?


8-12452
Meronikol
2003-11-02 05:37
2004.03.05
Помогите решить проблему


3-12249
Andrey V.
2004-02-08 10:29
2004.03.05
Работа с большим числом


14-12505
REP
2004-02-12 07:47
2004.03.05
Однозначный транслит


14-12488
4i
2004-02-13 16:43
2004.03.05
Алгоритмы