Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将8:00的值转换为8.00_Sql_Sql Server 2005 - Fatal编程技术网

Sql 将8:00的值转换为8.00

Sql 将8:00的值转换为8.00,sql,sql-server-2005,Sql,Sql Server 2005,我想将8:00的值转换为8或8.00,这样我就可以将这个数字乘以另一个INT值,如2 现在我收到一条错误消息,上面说: Conversion failed when converting the nvarchar value '8:00' to data type int. 我尝试了CAST(MYCOLUMN作为INT),但没有成功 你能帮忙吗 致以最诚挚的问候,我仍然不确定你在做什么,但是现在确实是一个时间,你希望他们在一个小时内你能做到这一点 SELECT DATEPART(HOUR, C

我想将
8:00
的值转换为
8
8.00
,这样我就可以将这个数字乘以另一个INT值,如
2

现在我收到一条错误消息,上面说:

Conversion failed when converting the nvarchar value '8:00' to data type int.
我尝试了
CAST(MYCOLUMN作为INT)
,但没有成功

你能帮忙吗


致以最诚挚的问候,

我仍然不确定你在做什么,但是现在确实是一个时间,你希望他们在一个小时内你能做到这一点

SELECT DATEPART(HOUR, CAST('8:00' AS TIME));
编辑:

SQL 2005没有时间数据类型,因此您必须这样做

SELECT DATEPART(HOUR, CAST('1900-01-01 ' + '8:00' AS DATETIME));
那么:

CAST(replace(MYCOLUMN, ':', '.') AS float)
(这假设国际化设置将
解释为小数点。)


8:00是否为时间值,例如8点钟?如果是这种情况,那么仅通过替换
->
就无法可靠地进行转换。8:47实际上是8+47/60=8.7833333。8:00的值存储为表中的工作小时数,因此,如果我看到一名员工工作两天,我会将2乘以8:00,这是我得到转换错误的地方,因此我想将8:00替换为8.00的整数值。希望这有意义
CAST(left(mycolumn, charindex(':', mycolumn) - 1) as int)