Mysql选择双常量
这在Mysql中是不允许的:Mysql选择双常量,mysql,select,double,constants,Mysql,Select,Double,Constants,这在Mysql中是不允许的: SELECT CAST(0 as DOUBLE) as ZERO 我该怎么做呢?我想你是想转换成十进制,而不是双精度。以下是带有类型列表的官方文档:使用CAST时,类型可以是以下类型之一: BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL[(M[,D])] SIGNED [INTEGER] TIME UNSIGNED [INTEGER] 您可以选择指定允许的精度,例如: SELECT CAST(0 as DECIMAL(18,
SELECT CAST(0 as DOUBLE) as ZERO
我该怎么做呢?我想你是想转换成
十进制
,而不是双精度
。以下是带有类型列表的官方文档:使用CAST
时,类型可以是以下类型之一:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL[(M[,D])]
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
您可以选择指定允许的精度,例如:
SELECT CAST(0 as DECIMAL(18,8)) as ZERO
参考资料:我在文档中始终使用十进制:“十进制值的最大范围与双精度相同”
因此,选择强制转换(0为十进制)为零 您不能这样做,您可以强制转换到的类型记录在这里:
如果您能更准确地描述您想要归档的内容,我们将更容易回答 一位同事找到了答案:
SELECT 0.0 + '0' as ZERO
这很有意思。它返回的是十进制而不是双精度。@NadeemJamali:只要再试一次,它就返回了双精度。也许这就是我使用MyISAM的mysql v5.1.45版本
SELECT 0.0 + '0' as ZERO