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

Откуда:
Сообщений: 5
Здравствуйте, уважаемые специалисты. Сразу прошу прощения за идиотский вопрос и за неосведомленность в данной теме, знаю Вы все люди занятые и Вам остачертело отвечать на тысячи идиотских вопрос, но прошу помощи. Пытаюсь сделать запрос, чтобы изменить строку в таблице, запрос типа (пытаюсь поменять дату):
Update table1 set line1 = 2012-12-12 where line2 = 123456
На что получаю:
"Ошибка преобразования значения varchar "--------" в тип данных int."
Лазил, лазил, гуглил, гуглил, читаю вот про типы данных, преобразования, cast, convert и т.д., но сами понимаете с наскоку такое не понять, а время поджимает( Не будет ли Вам так сложно направить мой поток мыслей в нужное русло пожалуйста?) Заранее спасибо)
5 дек 12, 16:07    [13582441]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Glory
Member

Откуда:
Сообщений: 104751
2012-12-12 - это 2012 минус 12 минус 12. Т.е. целое число 1998.
5 дек 12, 16:08    [13582455]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Update table1 set line1 = CAST('20121212' as datetime) where line2 = 123456 
5 дек 12, 16:09    [13582462]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Glory
Member

Откуда:
Сообщений: 104751
Glory
Т.е. целое число 1998.

1988
5 дек 12, 16:10    [13582469]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Glory
1988

один фиг - число
5 дек 12, 16:11    [13582477]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Kostenka
Update table1 set line1 = 2012-12-12 where line2 = 123456
Это в каком же поле у Вас значение '--------'? В line2, небось? Зачем же с целым числом сравниваете?
Какого типа line1? Подозреваю, не DATETIME, точно?
5 дек 12, 16:20    [13582568]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Kostenka
Member

Откуда:
Сообщений: 5
Maxx
Update table1 set line1 = CAST('20121212' as datetime) where line2 = 123456 


Спасибо всем большое. Окончательный вариант все-таки вышел такой Update table1 set line1 = CAST('20121212' as datetime) where line2 = CAST('123456' as varchar). Вот он изменил то шо надо. Но вот встал еще один вопрос, вот в этой строке line2 = CAST('123456' as varchar) как сделать несколько значений? Всмысле таких как '123456'. Ставлю line2 in CAST('123456', '654321' as varchar) и к сожалению не получается. Заранее спасибо.
5 дек 12, 16:32    [13582698]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Kostenka,

выб вот ето хранили б данные в полях соответвуещего типа а ?
Да и документацию чичтать на мешалоб
Вы вообще уверены что для ключей 123456', '654321' должно быть значение line1 = CAST('20121212' as datetime) ??????
5 дек 12, 16:38    [13582771]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Kostenka
Member

Откуда:
Сообщений: 5
В SQL я ни в чем не уверен, если честно, для меня это темный лес, но думаю да....
5 дек 12, 16:43    [13582819]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Kostenka,

а зачем тогда решили менять значения где-то
у вас какая задача стоит ?
5 дек 12, 16:47    [13582869]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Kostenka
Member

Откуда:
Сообщений: 5
У меня стоит задача поменять очень большое количество дат в line1 (даты исправляю), в соответствии с номером строки line2, но у меня значений line2 тоже много. Вообщем смысл одну дату присвоить куче значений из line2. Через Management studio вручную править таблицу каждый раз вбивая каждое значение медленно и муторно, вот поставили задачу как-то убыстрить процесс, вот такие пироги((
5 дек 12, 16:53    [13582930]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Kostenka
У меня стоит задача поменять очень большое количество дат в line1 (даты исправляю), в соответствии с номером строки line2, но у меня значений line2 тоже много. Вообщем смысл одну дату присвоить куче значений из line2. Через Management studio вручную править таблицу каждый раз вбивая каждое значение медленно и муторно, вот поставили задачу как-то убыстрить процесс, вот такие пироги((
Какого типа line1???
Откула берутся значения для line2???
5 дек 12, 16:54    [13582942]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Glory
Member

Откуда:
Сообщений: 104751
Kostenka
но у меня значений line2 тоже много.

У меня - это у вас в голове ? Или на листочке ? Или в файле ? Или в таблице ?
5 дек 12, 16:57    [13582964]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
Kostenka
Member

Откуда:
Сообщений: 5
Простите за неточности, товарищи, больно не бейте) Все значения находятся в строке line2, а строка line2 находится в таблице table1, но мне нужно только часть значений из line2.
5 дек 12, 17:03    [13583016]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Kostenka,

line2 in ('123456', '654321')
если это не одноразовое ваше сотрудничество с сиквелом, советую заглянуть таки в документацию.
5 дек 12, 17:03    [13583018]     Ответить | Цитировать Сообщить модератору
 Re: Преобразование значения  [new]
kornilov
Member

Откуда:
Сообщений: 92
line in (Select statement)
5 дек 12, 17:19    [13583137]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить