Progress DB转换一个数字来添加一个字符

时间:2015-12-03 20:27:38

标签: openedge progress-db

我不知道如何描述这个,所以我会尽力在这里......

在选择中:

SELECT "PUB"."EMPLOYEEID" as IdNum from Users

工作,它会提取一个ID号列表。但是,如果数字长度只有4个字符,我需要数字前导0。

所以我写了一个长度检查器,它失败了。所以我退回了,只是试图向所有人添加一个零,看看是否是导致问题的确定的确如此。看来该列是某种类型的类型号(我无权访问该模式)所以命令

SELECT '0' + "PUB"."EmployeeID" as IdNum from Users

不起作用......我可以将“0”添加到名称字段中,没有任何问题。所以我认为这是某种铸造问题。使用SQL Server,我可以在不转换列的情况下执行此操作....不幸的是,我并不是非常精通Progress ......

2 个答案:

答案 0 :(得分:2)

您需要更正它的投射问题,因为必须格式化列输出。

使用SQL服务器

TEST的类型为NUMERIC,值为1115

SELECT REPLICATE('0',5-LEN(RTRIM(TEST))) + RTRIM(TEST) AS TEST FROM STUDENT;

输出01115

上述代码为任何长度小于5个字符的值复制0。

答案 1 :(得分:0)

那不太对......但我确实找到了答案。

右('00000'+ CONVERT('VARCHAR',“NAMEID”),5)作为IDNum