小编Cez*_*Cez的帖子

MySQL转换为-1返回18446744073709551615

我似乎无法找到这方面的解释,我很确定它之前已按预期工作.

SELECT CAST(-1 AS UNSIGNED INTEGER);
Run Code Online (Sandbox Code Playgroud)

预期:0
结果:18446744073709551615

有什么变化,或者这是一个MySQL错误?

[更新]好的,我认为我找到了之前似乎有效的原因:

SELECT CAST(-1.0 AS UNSIGNED INTEGER);
+--------------------------------+
| CAST(-1.0 AS UNSIGNED INTEGER) |
+--------------------------------+
|                              0 |
+--------------------------------+
Run Code Online (Sandbox Code Playgroud)

现在,有人可以解释这导致的差异吗?实际上,我在文档中找到了!

如果任一操作数是浮点值,则结果为浮点值,并且不受前述规则的影响.

mysql casting

7
推荐指数
1
解决办法
3311
查看次数

更改字段中的第一个字符

我希望在表格(MYSQL)的字段中将第一个字符从"U"更改为"S",到目前为止,我有以下内容:

UPDATE customers_basket 
SET products_id = REPLACE(
                   LEFT(products_id,1), 'U', 'S') +      
                   SUBSTRING(products_id, 2, CHAR_LENGTH(products_id)
);
Run Code Online (Sandbox Code Playgroud)

但这并没有给我预期的效果,任何人都可以帮助我吗?

谢谢!

mysql

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

mysql ×2

casting ×1