如何在SQL中将AM/PM设置为\u日期?

如何在SQL中将AM/PM设置为\u日期?,sql,oracle,date,Sql,Oracle,Date,我想在两个日期之间对查询结果进行排序。如何设置日期以定义AM/PM 具体日期采用YYYY-mm-dd hh:mi格式 AND (cr.COMPLETED_DATE BETWEEN TO_DATE( :Start_Date , 'YYYY-mm-dd hh:mi') AND TO_DATE( :End_Date , 'YYYY-mm-dd hh:mi')) 我尝试输入大于12的数字(军事时间),但出现以下错误java.sql.SQLException:ORA-01849:hour必须介于1和12

我想在两个日期之间对查询结果进行排序。如何设置日期以定义AM/PM

具体日期采用
YYYY-mm-dd hh:mi
格式

AND (cr.COMPLETED_DATE BETWEEN TO_DATE( :Start_Date , 'YYYY-mm-dd hh:mi') AND TO_DATE( :End_Date , 'YYYY-mm-dd hh:mi'))
我尝试输入大于12的数字(军事时间),但出现以下错误
java.sql.SQLException:ORA-01849:hour必须介于1和12之间


有没有办法用日期格式指定AM/PM的方法?请注意,在日期格式规范中增加了24。这将允许您输入24小时时间:

AND (cr.COMPLETED_DATE BETWEEN TO_DATE( :Start_Date , 'YYYY-mm-dd hh24:mi') AND TO_DATE( :End_Date , 'YYYY-mm-dd hh24:mi'))
或者,您可以将am/pm指示符用于此行:

AND (cr.COMPLETED_DATE BETWEEN TO_DATE( :Start_Date , 'YYYY-mm-dd hh:mi am') AND TO_DATE( :End_Date , 'YYYY-mm-dd hh:mi am'))
下面是一种尝试检测两种格式中使用哪种格式的方法。如果在字符串中找到AM或PM,则将采用AM/PM名称,否则将使用24小时符号:

CASE
  WHEN regexp_like( :START_DATE, '((AM)|(PM))','i') 
    THEN to_date(:START_DATE,'yyyy-mm-dd hh:mi am')
  ELSE to_date(:START_DATE,'yyyy-mm-dd hh24:mi')
END

请注意,在日期格式规范中添加了24。这将允许您输入24小时时间:

AND (cr.COMPLETED_DATE BETWEEN TO_DATE( :Start_Date , 'YYYY-mm-dd hh24:mi') AND TO_DATE( :End_Date , 'YYYY-mm-dd hh24:mi'))
或者,您可以将am/pm指示符用于此行:

AND (cr.COMPLETED_DATE BETWEEN TO_DATE( :Start_Date , 'YYYY-mm-dd hh:mi am') AND TO_DATE( :End_Date , 'YYYY-mm-dd hh:mi am'))
下面是一种尝试检测两种格式中使用哪种格式的方法。如果在字符串中找到AM或PM,则将采用AM/PM名称,否则将使用24小时符号:

CASE
  WHEN regexp_like( :START_DATE, '((AM)|(PM))','i') 
    THEN to_date(:START_DATE,'yyyy-mm-dd hh:mi am')
  ELSE to_date(:START_DATE,'yyyy-mm-dd hh24:mi')
END

不确定您或其他人是否有兴趣在MySQL中这样做,但如果您想:

AND (cr.COMPLETED_DATE BETWEEN DATE_FORMAT( :Start_Date, '%Y-%m-%d %h:%i %p' )
                           AND DATE_FORMAT( :End_Date, '%Y-%m-%d %h:%i %p')

不确定您或其他人是否有兴趣在MySQL中这样做,但如果您想:

AND (cr.COMPLETED_DATE BETWEEN DATE_FORMAT( :Start_Date, '%Y-%m-%d %h:%i %p' )
                           AND DATE_FORMAT( :End_Date, '%Y-%m-%d %h:%i %p')

是哪一个?还是?是哪一个?或者?即使日期的格式特别包括AM/PM,添加“hh24”是否有效?不,我相信格式规范需要是
hh24:mi[:ss]
hh:mi[:ss]AM
。即使日期的格式特别包括AM/PM,添加“hh24”是否有效?不,我相信格式规范需要是
hh24:mi[:ss]
hh:mi[:ss]am