#sql-server-2008
#sql-server-2008
Вопрос:
у меня есть таблица с именем Time_check, в которой у меня есть два столбца
первый столбец: TimeId, который автоматически увеличивается
второй столбец: время, которое имеет тип данных int
теперь мне нужно вставить значения в столбец Time от 0 до 300, а строка ma после 300 будет равна 300
поскольку столбец time равен int, он не принимает значение varchar 300 .
как мне это сделать ….??
выведите что-то вроде :
TimeId Time
1 0
2 1
. .
. .
301 300
302 300
Код, который я пробовал, был
set nocount on
Declare @row varchar(10);
set @row=0;
WHILE not EXISTS (SELECT * FROM Time_check)
BEGIN
while(@row<=300)
begin
insert into [dbo].Time_check ([time]) valueS (@row)
set @row=@row 1;
end
IF(@row=300)
declare @roww varchar(10)
set @roww='300 '
Insert into [dbo].Time_check([Time]) values (cast(@roww as int))
end
end
но я получаю ошибки
Заранее спасибо
Ответ №1:
Очевидным решением является изменение типа данных вашего time
столбца на varchar, поскольку невозможно сохранить значение ‘300 ‘ в столбце int.
Может быть, вам следует пролить немного больше света на то, почему вам нужно хранить это значение в time
столбце вашей таблицы, вместо того, чтобы уровень представления вашего приложения обрабатывал это?