我试图将两个列值连接成一个字符串。其中一列的数据类型为VARCHAR2(12)
,另一列为DATE
。虽然我能够将它们加在一起,但结果看起来像下面所示,而预期的输出如上所述:
A=XS1297559038
payment_date=24-DEC-15
输入:
select distinct(A), A||payment_date,
输出:
XS129755903824-DEC-15
预期产出:
XS129755903842362
如果我们在Excel上这样做,我们会得到的东西。
非常感谢提前。我正在使用oracle sql 11.2
答案 0 :(得分:2)
试试这个 从双重选择to_number(to_char(sysdate,' J'));
答案 1 :(得分:0)
我无法编辑(少于6个字符)或评论(信誉较少:p)。我认为有必要审查输出。如果您认为这是正确的,请检查并编辑
电流输出:XS1297559038 42 362
预期产量:XS1297559038 24 362
答案 2 :(得分:0)
来自Microsoft的Microsoft Excel DATEVALUE
功能文档,
说明
Excel将日期存储为顺序序列号,以便它们可以 用于计算。默认情况下,1900年1月1日是序列号1, 2008年1月1日是序列号39448,因为它是39,447天 1900年1月1日之后。
所以,当我从1900年1月1日减去你的日期并加上2时使用上面的逻辑,我得到42362
select DATE '2015-12-24' - DATE '1900-01-01' + 2 FROM DUAL;
以下是类似的StackOverflow帖子:Change Excel date number to Oracle date