gpt4 book ai didi

db2 - CONCATENATION, smallint, integer 转换成整数列

转载 作者:行者123 更新时间:2023-12-04 05:34:52 34 4
gpt4 key购买 nike

DB2 V9 z/os

背景:我有一个定义为 (col1 int, col2 smallint, col3 int, col4 date) 的 4 列表

第 1 行的值为 (1,123,456,2012-08-23)

当我执行以下操作时:

SELECT CAST(col2 AS VARCHAR(5)) CONCAT CAST(col3 AS VARCHAR(5))
FROM db.T1
WHERE col1 = 1;

返回值 123456,这正是我想要的。

当我执行以下操作时:
UPDATE db.table2
SET col3 = SELECT CAST(col2 AS VARCHAR(5)) CONCAT CAST(col3 AS VARCHAR(5))
FROM db.T1
WHERE col1 = 1;

错误是:

SQL0408N A value is not compatible with the data type of its assignment target. Target name is "col3". SQLSTATE=42821



我了解错误是由于尝试将 varchar 插入整数。我还能做什么?我尝试过使用各种 CAST 语句,但无法获得插入 col3 的值。我需要该值显示为如上所示加入。

任何帮助将不胜感激。

最佳答案

将所有类型转换包装为最终 cast( ... as integer)应该工作:

UPDATE db.table2 
SET col3 = SELECT CAST(
CAST(col2 AS VARCHAR(5)) CONCAT CAST(col3 AS VARCHAR(5))
AS INTEGER)
FROM db.T1
WHERE col1 = 1;

关于db2 - CONCATENATION, smallint, integer 转换成整数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12094859/

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