我不知道如何描述这个,所以我会尽力在这里......
在选择中:
SELECT "PUB"."EMPLOYEEID" as IdNum from Users
工作,它会提取一个ID号列表。但是,如果数字长度只有4个字符,我需要数字前导0。
所以我写了一个长度检查器,它失败了。所以我退回了,只是试图向所有人添加一个零,看看是否是导致问题的确定的确如此。看来该列是某种类型的类型号(我无权访问该模式)所以命令
SELECT '0' + "PUB"."EmployeeID" as IdNum from Users
不起作用......我可以将“0”添加到名称字段中,没有任何问题。所以我认为这是某种铸造问题。使用SQL Server,我可以在不转换列的情况下执行此操作....不幸的是,我并不是非常精通Progress ......
答案 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