Странная ошибка SQL

maximovega

Помогите разобраться, пожалуйста.
Почему компилятор подчеркивает красным ключевое слово MODIFY? Насколько я понимаю, синтаксис команды верный:
ALTER TABLE [Tables].[dbo].[ARCHIVE] MODIFY [Value] VarChar(10) NOT NULL
Пробовала и оператор CHANGE:
ALTER TABLE [Tables].[dbo].[ARCHIVE] CHANGE [Value] [Value] VarChar(10)
Ключевое слово CHANGE не узнаёт даже, не высвечивает.
Чего я "недопоняла"?... :o

hprt

может стоит открыть документацию и посмотреть как писать правильно?
Например, http://msdn.microsoft.com/en-us/library/ms190273.aspx - пример C

maximovega

   Я не понимаю такой общий вид, уже читала эти странички. :( Нашла более мне ясное: http://www.mysql.ru/docs/mysql-man-4.0-ru/reference.html - но что не так в них, не могу додуматься...
ALTER TABLE [TABLES].[dbo].[ARCHIVE]
ALTER COLUMN [Value] VarChar(10)
тоже уже писала, не подчёркивает, но даёт Arithmetic overflow error for type varchar, value = 1400067231.000000.

hprt

давай для начала с сервером определись - mysql или mssql. судя по названию объектов - mssql, почему документацию по mysql берешь? ссылку смотрела?

pitrik2

Чего я "недопоняла"?... :o
ну для начала ты не понимаешь что SQL в разных базах данных разный
ты нам хотя бы скажи что у тебя за сервер, чтобы мы тебе дали ссылку на соотв. документацию

hprt

пока писал, ты сообщение поменяла :)
а текущий тип данных какой?

maximovega

Впервые вижу базу, SQL, и нужно вытянуть данные... :( И не просто так, а изменив тип... Написала в yandex "SQL изменить тип MODIFY CHANGE" в конце концов - и вот...

evgen5555

ALTER TABLE [Tables].[dbo].[ARCHIVE] ALTER COLUMN [Value] VarChar(10) NOT NULL

maximovega

Float. Нужен VarChar(10).

maximovega

Та же ошибка - overflow...

hprt

тебе тип данных в таблице поменять надо, или просто в результате запроса?

evgen5555

Ну расширь поле varchar, ясно же, что 10 знаков не хватит для такого числа

maximovega

Да, нужно обязательно в таблице поменять, вытянуть данные уже второстепенная задача. Важно именно тип столбца изменить.

hprt

Том Кайт говорит, что есть два ответа на все вопросы
1. WHY?
2. It depends...
В общем, поподробнее про задачу давай - для чего надо, а то мне кажется, бредом попахивает
2 : число тут 10 знаков, после точки 0 одни идут - сомневаюсь, что в строковом представлении эти нули нужны

maximovega

Забыла... :crazy: Ещё нужно VarChar на DateTime...

okis

Расскажи, в контексте какой задачи тебе понадобилось поменять тип.

maximovega

Вот это получилось. Спасибо! Изменила 10 на 20. А VarChar -> DateTime в одних случаях получается, в других - нет...

evgen5555

Можешь, кстати, глянуть, как выглядит число после конвертации.

Andbar

нужно вытянуть данные
т.е., для получения данных с помощью select'а в нужном формате, ты меняешь структуру таблицы? :shocked:

Papazyan

Иди лучше в большие начальники!

maximovega

Как выглядит? Ужасно. :) Не так, как нужно. Исходные данные вида 100445 преобразовались во что-то вида 148е+00... :grin:
Всем, тем не менее, спасибо огромное! Не всё конвертировала, но всё решилось.
К сожалению, разобраться до конца не удалось, наверное, не скоро столкнусь с подобной задачей ещё раз. Показала то, что удалось сделать с данными, на это посмотрели, помолчали и выдали: "Да, видимо, сделать просто не получится, возвращайтесь к своим прямым обязанностям, вы всё же аналитик. А то, как наполняет базы ИТ - не наши проблемы, решим это когда обслуживающий персонал вернётся." :grin:

hprt

данные, надеюсь, не сильно важные поломались/резерв был ?)

Vyacha

жесть! искренне соболезную вашим айтишникам и негодую по поводу аналитиков и начальства
зачем нужно было пороть базу (причем, похоже, наживую если ничего в этом не понимаешь?

AlexV769

откуда у малознакомого с SQL человека права на изменение схемы БД? Это типичный ССЗБ, соболезновать айтишникам можно лишь в разрезе их беспечности.
Оставить комментарий
Имя или ник:
Комментарий: