Mysql SQL-截断了不正确的双精度值

Mysql SQL-截断了不正确的双精度值,mysql,sql,Mysql,Sql,我的SQL查询一直存在问题,经过多次尝试和研究,我自己无法解决这个问题 错误: 警告:#1292截断了不正确的双精度值:“TITLE1_00” 警告:#1292截断了不正确的双精度值:“TITLE2” 警告:#1292截断了不正确的双精度值:'_00' 我的问题是: SELECT t1.titleid FROM tmdb t1 LEFT JOIN patch t2 ON t1.titleid = t2.name + '_00' WHERE t2.name IS NULL 结构: tmdb:ti

我的SQL查询一直存在问题,经过多次尝试和研究,我自己无法解决这个问题

错误:

警告:#1292截断了不正确的双精度值:“TITLE1_00”

警告:#1292截断了不正确的双精度值:“TITLE2”

警告:#1292截断了不正确的双精度值:'_00'

我的问题是:

SELECT t1.titleid
FROM tmdb t1
LEFT JOIN patch t2
ON t1.titleid = t2.name + '_00'
WHERE t2.name IS NULL
结构:

tmdb:
titleid(varchar)(15)

补丁:
名称(varchar15)(15)

我试过:

name(varchar)(15)
name(varchar)(9)
,我把它改成了15

我已经在两个数据库中运行了phpmyadmin中的查询

有人知道为什么会发生这种情况,解决办法是什么吗



这个问题被标记为重复问题。链接帖子中的答案没有回答我的问题,因为这个问题是不同的。正如在这篇文章中提到的,我已经做了研究,并且已经看到了这篇文章

那SQL有什么意义?你能给出一个你需要的数据和结果的例子吗

您尝试将“\u 00”添加到null。where子句是不是错了


你有没有试过使用CONCAT(ifnull(t2.name),“u00”)呢

+
是数字加法,而不是字符串串联。。。所以MySQL试图将您的值转换为数字。由于没有更好的计划,它采用了回退类型的
DOUBLE
(64位浮点值)。但由于字符串不能生成令人信服的数字,因此会收到警告

字符串连接的正确构造:

ON t1.titleid = CONCAT(t2.name, '_00')

@我看过这篇文章,这肯定不能回答我的问题。该查询甚至与发布的内容不符。请在将其标记为副本之前仔细检查该帖子。此t2.name+“_00”在MySQL中不起作用。请使用CONCAT(t2.name,“_00”)@BerndBuffen感谢您的帮助。这确实奏效了!