您的位置:程序门 -> db2 -> 基础类



db2 int 不能转为varchar 的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


db2 int 不能转为varchar 的问题
发表于:2008-01-21 15:54:39 楼主
int   不能转为varchar
用char()转换   又会出现空格的想象,如10变为‘10           ',
应该怎么转换,又不出现空格呢?
发表于:2008-01-21 17:48:321楼 得分:0
rtrim(char(字段))
发表于:2008-01-21 19:01:502楼 得分:0

//sqlapi
sacommand   cmd;

int   ifield   =   cmd.field("字段").aslong();

char   buf[100]

ace_os::snprintf(buf,   100,   "%d",   ifield);

发表于:2008-01-22 09:38:193楼 得分:0
用函数直接去掉空格,或者用
cast   colname   as   char(10)
发表于:2008-01-23 09:25:354楼 得分:0
varchar和char都是字符型,程序中一般都是用string来处理的。所以用char()转换就可以了。测试如下:
c:\> db2   select   char(10)   from   sysibm.sysdummy1

1
-----------
10

    1   条记录已选择。
------------------------------------
c:\> db2   select   length(char(10))   from   sysibm.sysdummy1


1
-----------
                  11

    1   条记录已选择。


c:\> db2   select   length(rtrim(char(10)))   from   sysibm.sy
sdummy1

1
-----------
                    2

    1   条记录已选择。


所以先用char转为字符串,再用rtrim去掉右边的空格,就可以了。
发表于:2008-01-24 12:26:505楼 得分:0
楼上正解


快速检索

最新资讯
热门点击