如何将Oracle TRUNC(SYSDATE-100,'Q')添加到MySQL

时间:2019-10-19 15:53:56

标签: mysql oracle oracle11g datetime-format

我已经安装了MySQL,并拥有一个oracle脚本,我创建了模式和表,并在oracle中将trunc和Quarter固定在其中,希望它们插入MySQL。

在插入mysql时如何使用trunc和q?

INSERT INTO ASSIGNMENT (ASSIGNMENT_ID, CONSULTANT_ID,CLIENT_ID,START_DATE,END_DATE,PAY,COMMENTS) 
  VALUES (1, 2, 1, date_format(quarter(SYSDATE()-100),'%d-%b-%Y'),date_format(quarter(SYSDATE()-100),'%d-%b-%Y')+31,500, null);

date_format(quarter(SYSDATE()-100),'%d-%b-%Y'),date_format(quarter(SYSDATE()-100),'%d-%b-%Y')+31,500
  

错误代码:1292。错误的日期时间值:'4'错误代码:1292。   日期值不正确:第1行“ start_date”列的“ Q”错误代码:   1292.错误的日期值:第1行的“开始日期”列的“ Q”

1 个答案:

答案 0 :(得分:0)

您可以使用:

set @former_day = date_add( sysdate(), interval -100 day );

select
date_format(@former_day ,'%Y-01-01') + interval quarter(@former_day)-1 quarter 
as new_date

生成所需的内容。

  • 获取100年之前的本年开始日期:

    date_format(@former_day ,'%Y-01-01')

  • 将季度数添加到100的季度开始 几天前:

    + interval quarter(@former_day)-1 quarter

Demo