Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка при использовании SUBSTRING  [new]
Cantalupa
Member

Откуда:
Сообщений: 24
Вот часть моей функции, которая использует Substring
declare @str nvarchar (1000)
declare @str_name nvarchar(1000)
declare @start smallint(1000)
declare @poz smallint(1000)
set @str_name= SUBSTRING(@str,@poz,@start)

При указании размерности @start и @poz вылетает ошибка :

Server: Msg 2716, Level 16, State 1, Line 1
Column or parameter #-3: Cannot specify a column width on data type smallint.
Server: Msg 2716, Level 16, State 1, Line 1
Column or parameter #-4: Cannot specify a column width on data type smallint.
Parameter '@start' has an invalid data type.
Parameter '@poz' has an invalid data type.

Без указания размерности @start и @poz ошибок нет, но при этом ничего не возвращается в результате отработки моей функции.



Что я не так делаю? Подскажите мне пожалуйста

P.S. Может быть и не нужно эту самую размерность указывать?
14 окт 05, 11:59    [1968972]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при использовании SUBSTRING  [new]
Smirnov Anton
Member

Откуда: Н.Новгород
Сообщений: 3220
declare @poz smallint(1000)
кто вас так научил делать?
14 окт 05, 12:01    [1968982]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при использовании SUBSTRING  [new]
Glory
Member

Откуда:
Сообщений: 104760
Что такое это ?

declare @start smallint(1000)
14 окт 05, 12:01    [1968984]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при использовании SUBSTRING  [new]
Cantalupa
Member

Откуда:
Сообщений: 24
Этим Вы хотите сказать, что не нужно дописывать (1000) ?
...я только учусь...
14 окт 05, 12:08    [1969023]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при использовании SUBSTRING  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5113
Добрый день.
1. У smallint размерность не указывается...
2. У функции SUBSTRING второй аргумент стартовая позиция, а третий это длина выборки... (и учтите, что изначально позиция в строке равна 1)
14 окт 05, 12:09    [1969025]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при использовании SUBSTRING  [new]
Glory
Member

Откуда:
Сообщений: 104760
Cantalupa
Этим Вы хотите сказать, что не нужно дописывать (1000) ?
...я только учусь...

Учится - это значит читать про синтаксис в хелпе, а не выдумывать этот синтаксис самому. А также читать сообщения об ошибках

Server: Msg 2716, Level 16, State 1, Line 1
Column or parameter #-3: Cannot specify a column width on data type smallint.
14 окт 05, 12:10    [1969030]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при использовании SUBSTRING  [new]
Cantalupa
Member

Откуда:
Сообщений: 24
Дедушка
Добрый день.
1. У smallint размерность не указывается...
2. У функции SUBSTRING второй аргумент стартовая позиция, а третий это длина выборки... (и учтите, что изначально позиция в строке равна 1)



Спасибо! Научили!
14 окт 05, 12:11    [1969036]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить