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

Откуда:
Сообщений: 5
Необходимо внести изменение в поле. Тип данных в поле Char. Необходимо одно из полей объединить с другим полем, и между ними несколько буквенных символов. НАПРИМЕР есть pole1 pole2 необходимо чтобы было pole1*lgpole2 pole2
Версия MSSQL 2005
22 янв 14, 12:23    [15451558]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37061
+
22 янв 14, 12:31    [15451614]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Krolik_eve
Member

Откуда:
Сообщений: 5
Возникает ошибка Conversion failed when converting the varchar value 'Б0020' to data type int. хотя оба поля имеют одинаковый тип данных
22 янв 14, 12:36    [15451646]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
STUFF()
22 янв 14, 12:42    [15451666]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31435
Krolik_eve
Возникает ошибка Conversion failed when converting the varchar value 'Б0020' to data type int. хотя оба поля имеют одинаковый тип данных
Какое то поле типа int, чудес не бывает.
Приветдите полный код запроса и структуру таблиц.
22 янв 14, 13:10    [15451834]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Krolik_eve
Member

Откуда:
Сообщений: 5
UPDATE Kat_god
Set Наименование = Наименование+ Льготный
WHERE Индекс = 99929

[Год] = <Год, smallint,>
,[Полуг] = <Полуг, smallint,>
,[Индекс] = <Индекс, char(5),>
,[Льготный] = <Льготный, char(1),>
,[Наименование] = <Наименование, char(25),>
,[Организация_Население] = <Организация_Население, char(1),>
22 янв 14, 14:11    [15452148]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Krolik_eve
WHERE Индекс = 99929

Вот причина ошибки
22 янв 14, 14:12    [15452153]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Krolik_eve
Member

Откуда:
Сообщений: 5
а в чем ошибка?
22 янв 14, 14:16    [15452176]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Krolik_eve
а в чем ошибка?

Conversion failed when converting the varchar value 'Б0020' to data type int.
22 янв 14, 14:17    [15452178]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Азагаш
Member

Откуда:
Сообщений: 450
Krolik_eve,
ты такой задаешь фильтр "давай выбери мне все строки где число Индекс = 99929"
а сервер такой на очередной строке "фиг знает как строку 'Б0020' преобразовать к числу чтобы сравнить с 99929!"
а потом такой "напишу ка я в ошибке что не смог преобразовать строку к числу, ведь должен же догадаться пользователь"
22 янв 14, 14:47    [15452368]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
o-o
Guest
перевод предыдущего поста:

нечего на неявную конвертацию полагаться,
передавайте свое 99929 в условие where не числом, а строкой
ибо
у строк приоритет ниже, поэтому в сравнении
<строка> = <число> строки в числа конвертируются.

читайте: Data Type Precedence (Transact-SQL)
22 янв 14, 14:56    [15452417]     Ответить | Цитировать Сообщить модератору
 Re: Помогите НУБУ. Добавление символов в поле.  [new]
Krolik_eve
Member

Откуда:
Сообщений: 5
Большое Спасибо, вроде разобрался.
22 янв 14, 15:15    [15452526]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить