Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 11:30   #1
apelsun
Пользователь
 
Регистрация: 03.05.2012
Сообщений: 24
По умолчанию разделение столбца на два

Подскажите, как разделить столбец "№dogovora" на два. Это поле всегда состоит из 6 символов. Нужно что бы одно поле состояло из 2, а другое из 4.

Пример: сейчас у меня так 123456, а надо 12 3456.

Если делать просто для запроса, то я с помощью substreng знаю как сделать. А вот для перекраивания полностью таблицы нет.( а нужно именно так)

у меня sql server 2008
apelsun вне форума Ответить с цитированием
Старый 03.05.2012, 11:39   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

создаёте новый столбец, шириной 4 символа
делаете update

примерно такого вида:
Код:
update MyTable
  set Ndog_part2 = SUBSTRING (Ndog, 3, 4),
       Ndog = SUBSTRING (Ndog, 1, 2)
where 
    LEN(Ndog)=6
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.05.2012, 12:51   #3
apelsun
Пользователь
 
Регистрация: 03.05.2012
Сообщений: 24
По умолчанию

сделала, получилось. спасибо большое!
Подскажите, а можно с помощью запроса сделать некоторые ключи в таблице обычными полями?
у меня есть таблица, в которой два ключа, хочу оставить только один

Последний раз редактировалось apelsun; 03.05.2012 в 12:59.
apelsun вне форума Ответить с цитированием
Старый 13.05.2012, 21:51   #4
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

Код:
CREATE TABLE `test`
(
	`id` 	INTEGER NOT NULL AUTO_INCREMENT,
	`id_other` INTEGER NOT NULL,
	`value` VARCHAR(255),
	PRIMARY KEY(`id`, `id_other`)
);

DESC `test`;

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| id_other | int(11)      | NO   | PRI | NULL    |                |
| value    | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+

ALTER TABLE `test` MODIFY `id` INTEGER;
ALTER TABLE `test` DROP PRIMARY KEY;
ALTER TABLE `test` MODIFY `id` INT NOT NULL PRIMARY KEY AUTO_INCREMENT;

DESC `test`;

+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| id_other | int(11)      | NO   |     | 0       |                |
| value    | varchar(255) | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 20.05.2012, 21:32   #5
apelsun
Пользователь
 
Регистрация: 03.05.2012
Сообщений: 24
По умолчанию

Сделала вот так:

ALTER TABLE Codings MODIFY NTochUchet INTEGER;
ALTER TABLE Codings DROP PRIMARY KEY;
ALTER TABLE Codings MODIFY NTochUchet INT NOT NULL PRIMARY KEY AUTO_INCREMENT;

Но вылезли ошибки:
Сообщение 102, уровень 15, состояние 1, строка 1
Неправильный синтаксис около конструкции "MODIFY".
Сообщение 156, уровень 15, состояние 1, строка 2
Неправильный синтаксис около ключевого слова "PRIMARY".
Сообщение 102, уровень 15, состояние 1, строка 3
Неправильный синтаксис около конструкции "MODIFY".



я убрала некоторые кавычки, но если их ставить, тоже не получается, подскажите, пожалуйста, что не так? у меня SQL Server 2008
apelsun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделение на два юнита Alexandr000006 Помощь студентам 4 17.03.2011 19:09
логическое разделение столбца soulbringer Microsoft Office Access 8 02.11.2010 17:42
как объединить два столбца с форматированием evdss Microsoft Office Excel 2 21.10.2010 07:54
Разделение массива на два Negent C++ Builder 5 11.06.2010 14:11
Помогите пожалуйста сравнить два столбца ddimma Microsoft Office Excel 4 16.01.2009 09:01