Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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
mysql联合更改值_Mysql_Union All - Fatal编程技术网

mysql联合更改值

mysql联合更改值,mysql,union-all,Mysql,Union All,我想在查询结果中添加列名 与: 我得到 +---------+ | MYVALUE | +---------+ | 0.70 | +---------+ +--------------+ | value | +--------------+ | value | | 0.6999999881 | +--------------+ 与 我得到 +---------+ | MYVALUE | +---------+ | 0.70 | +---------+

我想在查询结果中添加列名

与:

我得到

+---------+
| MYVALUE |
+---------+
|    0.70 |
+---------+
+--------------+
|    value     |
+--------------+
|    value     |
| 0.6999999881 |
+--------------+

我得到

+---------+
| MYVALUE |
+---------+
|    0.70 |
+---------+
+--------------+
|    value     |
+--------------+
|    value     |
| 0.6999999881 |
+--------------+
我确信0.70是正确的值

MYVALUE是一个浮点值

为什么会改变?我怎样才能得到好的价值

编辑:这确实是一个浮点/字符串问题。我解决了以下问题:

select 'value' union all select CAST(MYVALUE AS CHAR)from MYTABBLE;

“值”
不是数字,而是字符串。还有一个不能转换成数字的。我很惊讶MySQL居然允许运行这个语句。在
联合体中
每个联合体部件的每一列必须具有完全相同的数据类型。Postgres和Oracle将干脆拒绝运行此功能。您正在混合字符串和数字。难怪你会得到一些奇怪的值(众所周知MySQL会做很多奇怪的转换以避免任何代价出现错误消息)哦,顺便说一句:你很可能不想要一个
float
列: