Sql 甲骨文
在我的选择中,我有以下子选择:Sql 甲骨文,sql,oracle,Sql,Oracle,在我的选择中,我有以下子选择: (SELECT CAR FROM CAR_OV_CARNEW WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD') CPEND 这给了我以下列作为输出: CPEND ----- 11.07.2011 15.05.2014 14.08.2016 我需要的是从sysdate到CPEND之间的month差异 我试了几个月,但不知怎么的,它对我不起作用 最终结果应为: CPEND (DATE) DIFF
(SELECT CAR FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD') CPEND
这给了我以下列作为输出:
CPEND
-----
11.07.2011
15.05.2014
14.08.2016
我需要的是从sysdate
到CPEND
之间的month
差异
我试了几个月,但不知怎么的,它对我不起作用
最终结果应为:
CPEND (DATE) DIFFMONTHS_TEMP
----- -----
11.07.2011 46
15.05.2014 12
14.08.2016 -14
我试着这样说:
SELECT MONTHS_BETWEEN (TO_DATE(sysdate),
TO_DATE((SELECT CAR FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD') CPEND,'MM-DD-YYYY') ) "Months"
FROM table1;
标准方法是:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, CAR)
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
如果CAR
存储为字符串而不是日期,则需要将其转换为:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE(CAR, 'DD.MM.YYYY'))
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
另外,
MONTHS\u BETWEEN()
返回一个数字类型。如果您希望它是一个整数(根据您的结果建议),则添加要转换的逻辑,取下限、上限或四舍五入值。标准方法是:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, CAR)
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
如果CAR
存储为字符串而不是日期,则需要将其转换为:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE(CAR, 'DD.MM.YYYY'))
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
另外,
MONTHS\u BETWEEN()
返回一个数字类型。如果您希望它是一个整数(根据您的结果建议),则添加要转换的逻辑,取下限、上限或四舍五入值。标准方法是:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, CAR)
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
如果CAR
存储为字符串而不是日期,则需要将其转换为:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE(CAR, 'DD.MM.YYYY'))
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
另外,
MONTHS\u BETWEEN()
返回一个数字类型。如果您希望它是一个整数(根据您的结果建议),则添加要转换的逻辑,取下限、上限或四舍五入值。标准方法是:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, CAR)
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
如果CAR
存储为字符串而不是日期,则需要将其转换为:
SELECT (SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE(CAR, 'DD.MM.YYYY'))
FROM CAR_OV_CARNEW
WHERE CARFK = table1.id AND carold = 'CAR_SHARE_OLD'
)
另外,
MONTHS\u BETWEEN()
返回一个数字类型。如果您希望它是一个整数(根据您的结果建议),则添加要转换的逻辑,取下限、上限或四舍五入值。请使用months\u显示您的查询。另外,cp\u end
的数据类型是什么?我编辑了问题,请在之间的months\u中显示您的查询。另外,cp\u end
的数据类型是什么?我编辑了问题,请在之间的months\u中显示您的查询。另外,cp\u end
的数据类型是什么?我编辑了问题,请在之间的months\u中显示您的查询。另外,cp\u end
的数据类型是什么?我编辑了这个问题