gpt4 book ai didi

mysql - 第 1 行 '(null)' 列的值超出范围

转载 作者:行者123 更新时间:2023-11-30 23:13:02 24 4
gpt4 key购买 nike

UPDATE  monthly_report_c a
LEFT JOIN
(
SELECT DATE_FORMAT((STR_TO_DATE(a.TRANSACTION_DATE,'%d.%m.%Y')), '%Y%m') mnt,
COUNT(DISTINCT a.CUSTOMER_ID) totalNum
FROM spendingtx a
WHERE a.CARD_PROGRAM = "visa"
AND CAST(a.AMOUNT AS DECIMAL(5,2)) > 0.01
GROUP BY DATE_FORMAT((STR_TO_DATE(a.TRANSACTION_DATE,'%d.%m.%Y')),'%Y%m')
) b ON b.mnt = a.Month_Number

.
.
.
SET a.visa = IFNULL(b.totalNum, 0)

上面的代码从 spendingtx 表中提取并更新另一个表,该表的第一个字段为 yearmonth(即 201309 201310 ... 等)

我收到这个错误:

[Err] 1264 - Out of range value for column '(null)' at row 1

最佳答案

您的 DBMS 似乎是 MySQL(我的是 5.6.34 - MySQL Community Server (GPL))并且错误发生在 CAST() 中。

  1. INSERT/UPDATE 之外,MySQL 不抛出任何东西。

    SELECT CAST( 12345 AS DECIMAL(3, 2) ) AS f;

    输出:

    f
    9.99
  2. INSERT/UPDATE 中,错误被显式抛出。

    CREATE TABLE `t` (
    `c` blob NOT NULL
    ) ENGINE=InnoDB;

    INSERT INTO t
    SELECT CAST( 12345 AS DECIMAL(3, 2) ) AS f;

    输出:

    #1264 - Out of range value for column 'f' at row 1
  3. 您的消息来自WHERE 子句有点奇怪。

    INSERT INTO t
    SELECT 1
    FROM t
    WHERE CAST( 12345 AS DECIMAL(3, 2) );

    输出:

    #1264 - Out of range value for column '(null)' at row 1

关于mysql - 第 1 行 '(null)' 列的值超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19121106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com