【问题标题】:concatenation of decimal and varchar in SQLSQL中十进制和​​varchar的连接
【发布时间】:2011-08-01 05:46:30
【问题描述】:

我的表中有 2 列:

PER_DAY (DECIMAL(10,2))
DESCP   (VARCHAR)

我想连接查询中的两列...

例如:

PER_DAY=0.5  DESCP='ABCDEFGHIJ'

我希望它们显示为

0.5-ABCDEFGHIJ

我正在使用 IBM DB2。

【问题讨论】:

    标签: sql db2 concatenation


    【解决方案1】:

    你试过了吗

    select char(per_day) || DESCP from table;
    

    编辑:

    select CAST(per_day AS VARCHAR(13)) || '-' || DESCP from table;
    

    【讨论】:

    • 我试过了,但结果是:00000000.50 -'ABCDEFGHIJ'
    • 我试过了....但它显示如下错误:数据类型为“SYSIBM.DECIMAL”的值不能 CAST 以键入“SYSIBM.VARCHAR”
    • @Yahia 对 CAST 使用 VARCHAR(13) - 整数部分使用 10,点使用 1,小数部分使用 2 个字符,否则可能会发生溢出
    • @niktrs: 谢谢 :-) @sagarg: 请用 VARCHAR(13) 重试
    • @yahia 它再次给出相同的错误,例如:数据类型为“SYSIBM.DECIMAL”的值不能强制转换为类型“SYSIBM.VARCHAR”。 SQLSTATE=42846
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多