如何将SQL中某列的十进制小时数(1.25)转换为分钟数(75)?
我试过了如何将SQL中某列的十进制小时数(1.25)转换为分钟数(75)?,sql,ms-access,type-conversion,Sql,Ms Access,Type Conversion,我试过了 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 ||
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
你应该能够做到:
UPDATE Datsta
SET SCHED_TIME_MIN = SCHED_TIME * 60;
cast()
应该是不必要的,但是如果您确实需要它:
UPDATE Datsta
SET SCHED_TIME_MIN = CAST(SCHED_TIME * 60 as DECIMAL(5, 2));
注意:我删除了
集中的限定符。您没有指定您的数据库。这是不必要的,而且并非所有版本的SQL都支持为所设置的列设置限定符。没有什么可做的
只需SET SCHED_TIME_MIN=SCHED_TIME*60代码>
当你乘小时到60时,它会自动转换成分钟
例如:
计划时间=2,然后最小=2*60=120
SCHED_时间=2.5然后最小值=2.5*60=150
SCHED_TIME=1.25然后MIn=1.25*60=75我就是这么做的,但它没有输出任何东西尝试删除这个限定符Datsta。设置关键字后,您是否可以将表结构包含在datatypeEdit中?编辑您的问题,只需添加表定义。它说我没有信誉点来发送图像,除了键入外,还有什么其他方法?它没有输出值。您使用的是什么数据库?它会产生错误吗?SCHED_TIME
的数据类型是什么?我正在使用Access。它不会生成错误,数据类型是一个数字。@ShengTan…第一个版本应该在Access中工作。update
语句不会输出任何内容;您需要执行select*from Datsta
查看任何更改。