Mysql选择double常量

时间:2012-04-03 15:13:09

标签: mysql select double constants

在Mysql中不允许这样做:

SELECT CAST(0 as DOUBLE) as ZERO

我该怎么做?

5 个答案:

答案 0 :(得分:2)

一位同事找到了答案:

SELECT 0.0 + '0' as ZERO

诀窍。

答案 1 :(得分:1)

使用CAST时,类型可以是以下之一:

BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]

所以你的例子是:

SELECT CAST(0 as DECIMAL) as ZERO

您可以选择指定允许的精度,例如:

SELECT CAST(0 as DECIMAL(18,8)) as ZERO

参考:http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

答案 2 :(得分:0)

我认为您希望投放到DECIMAL,而不是DOUBLE。以下是包含类型列表的官方文档:http://dev.mysql.com/doc/refman/5.6/en/cast-functions.html#function_cast

答案 3 :(得分:0)

我总是在码头中使用小数:“DECIMAL值的最大范围与DOUBLE相同”

SELECT转换(0作为Decimal)也是ZERO;

答案 4 :(得分:0)

你无法做到,你可以投射到的类型记录在这里:MySQl Docs - Cast Functions

如果您更准确地描述要归档的内容,我们将更容易回答。