Как преобразовать часы в десятичном формате (1,25) в минуты (75) для столбца в SQL?

Я старался

UPDATE Datsta SET Datsta.SCHED_TIME_MIN = SCHED_TIME * 60, AS decimal(5,2);

где SCHED_TIME_MIN — новое преобразованное поле в минутах, а SCHED_TIME — в часах.

|SCHED_TIME ||  SCHED_TIME_MIN| 
|    7.28   ||                |
|    1.00   ||                | 
|    4.45   ||                |    the table name is Datsta

person Sheng Tan    schedule 23.01.2015    source источник


Ответы (2)


Вы должны быть в состоянии просто сделать:

UPDATE Datsta
    SET SCHED_TIME_MIN = SCHED_TIME * 60;

cast() должно быть ненужным, но если вы действительно этого хотите:

UPDATE Datsta
    SET SCHED_TIME_MIN = CAST(SCHED_TIME * 60 as DECIMAL(5, 2));

Примечание: я удалил квалификатор в файле SET. Вы не указываете свою базу данных. В этом нет необходимости, и не все версии SQL поддерживают квалификатор для устанавливаемого столбца.

person Gordon Linoff    schedule 23.01.2015
comment
он не вывел значение - person Sheng Tan; 23.01.2015
comment
Какую базу данных вы используете? Выдает ошибку? Каков тип данных для SCHED_TIME? - person Gordon Linoff; 23.01.2015
comment
Я использую Access. Это не приводит к ошибке, а тип данных - число. - person Sheng Tan; 24.01.2015
comment
@ШэнТан. . . Первая версия должна работать в Access. Оператор update ничего не выводит; вам нужно сделать select * from Datsta, чтобы увидеть какие-либо изменения. - person Gordon Linoff; 24.01.2015

Здесь нечего делать

Только 1_

Когда вы умножаете час на 60, он автоматически преобразуется в минуты.

Например: - SCHED_TIME = 2 Тогда MIN = 2 * 60 = 120

SCHED_TIME = 2,5 Тогда MIN = 2,5 * 60 = 150

SCHED_TIME = 1,25 Тогда MIN = 1,25 * 60 = 75

person HaveNoDisplayName    schedule 23.01.2015
comment
я так и сделал, но ничего не вышло - person Sheng Tan; 23.01.2015
comment
попробуйте удалить этот квалификатор Datsta. после ключевого слова SET - person HaveNoDisplayName; 23.01.2015
comment
вы можете включить структуру таблицы с типом данных - person HaveNoDisplayName; 23.01.2015
comment
Отредактируйте свой вопрос и просто добавьте определение таблицы. - person HaveNoDisplayName; 23.01.2015
comment
Он говорит, что у меня нет очков репутации для отправки изображений, как еще, кроме как напечатать это - person Sheng Tan; 23.01.2015
comment
у вас есть только таблица, просто отредактируйте свой вопрос и вручную введите определение таблицы - person HaveNoDisplayName; 23.01.2015