我正在编写使用h2的junit测试。Oracle使用了不同的格式('03-february-20')。H2数据库对该格式('2020 -02- 03')抛出错误。我需要在h2数据库的一个查询中将字符串03-february-20转换为日期2020-02-03。请告诉我如何做?
03-february-20
2020-02-03
gjmwrych1#
使用PARSEDATETIME示例:
create table DATE_EXAMPLE ( EXAMPLE DATE ); insert into DATE_EXAMPLE values ('2020-02-03'); select * from DATE_EXAMPLE where EXAMPLE = PARSEDATETIME('03-february-20','dd-MMMM-yy');
csga3l582#
我们并不清楚您到底在做什么。Oracle的DATE数据类型没有“格式”。或者说,它是一种内部的二进制格式。如果您要选择DATE数据类型的列,并将其转换为字符串表示(供人类或其他需要日期字符串表示的进程使用),则可以使用to_char函数:
select to_char(my_date,'dd-Mon-yyyy') from mytable;
并使用所需的任何格式掩码来生成所需的结果。我使用的格式掩码是“dd-Mon-yyyy”,它将今天的日期显示为27-Feb-2020。
2条答案
按热度按时间gjmwrych1#
使用PARSEDATETIME示例:
csga3l582#
我们并不清楚您到底在做什么。Oracle的DATE数据类型没有“格式”。或者说,它是一种内部的二进制格式。如果您要选择DATE数据类型的列,并将其转换为字符串表示(供人类或其他需要日期字符串表示的进程使用),则可以使用to_char函数:
并使用所需的任何格式掩码来生成所需的结果。我使用的格式掩码是“dd-Mon-yyyy”,它将今天的日期显示为27-Feb-2020。