MySQL强制转换为浮点或什么十进制值

MySQL强制转换为浮点或什么十进制值,mysql,sql-server,type-conversion,floating-point-precision,Mysql,Sql Server,Type Conversion,Floating Point Precision,我为保险环境开发软件,所以十进制值非常重要。 我们正在从MSSQL转换到MYSQL。我的问题涉及的问题是: SELECT CAST( CAST( (initialpremium - totalpremium) / 2 * CAST(premiummultiplier AS INT) AS FLOAT) FROM policy /* rest of the query... */ 此代码在MSSQL中工作,但在MYSQL中不工作。 . 我的问题是

我为保险环境开发软件,所以十进制值非常重要。 我们正在从MSSQL转换到MYSQL。我的问题涉及的问题是:

SELECT CAST(
    CAST(
      (initialpremium - totalpremium) / 2 * 
      CAST(premiummultiplier AS INT) 
    AS FLOAT) 
FROM policy 
/* rest of the query... */
此代码在MSSQL中工作,但在MYSQL中不工作。 .

我的问题是,浮点的正确十进制长度是多少。
我在互联网上搜索过。MySQL可以通过添加
0.0
将整数转换为浮点:

SELECT
    integer_column + 0.0 AS float_column

MySQL可以通过添加
0.0
将整数强制转换为浮点:

SELECT
    integer_column + 0.0 AS float_column

MySQL可以通过添加
0.0
将整数强制转换为浮点:

SELECT
    integer_column + 0.0 AS float_column

MySQL可以通过添加
0.0
将整数强制转换为浮点:

SELECT
    integer_column + 0.0 AS float_column

我找到了答案。不必在mysql中指定十进制值,只需将代码更改为cast(值为十进制)

我找到了答案。不必在mysql中指定十进制值,只需将代码更改为cast(值为十进制)

我找到了答案。不必在mysql中指定十进制值,只需将代码更改为cast(值为十进制)

我找到了答案。您不必在mysql中指定十进制值,只需将代码更改为cast(值为十进制)

选择integer\u column::float from tablename;
从tablename中选择integer\u column::float;
从tablename中选择integer\u column::float;
从tablename中选择integer\u column::float;

我找到了答案。我发现了一个答案,您可以将代码更改为cast(值为decimal),而不是在mysql中指定十进制值。我发现了一个答案,您可以将代码更改为cast(值为decimal),而不是在mysql中指定十进制值。我发现了一个答案,您可以将代码更改为cast(值为decimal),而不是在mysql中指定十进制值。您不必在mysql中指定十进制值,只需将代码更改为强制转换(值为十进制)
::float
是PostgreSQL中的一种速记强制转换。OP的问题是关于MySQL的,MySQL没有这个功能。
::float
是PostgreSQL中的一个速记转换。OP的问题是关于MySQL的,MySQL没有这个功能。
::float
是PostgreSQL中的一个速记转换。OP的问题是关于MySQL的,MySQL没有这个功能。
::float
是PostgreSQL中的一个速记转换。OP的问题是关于MySQL的,MySQL没有这个功能。