在h2数据库中写一个查询来转换日期格式
write a query in h2 database to convert date format
我正在编写使用 h2 的 junit 测试。 Oracle 使用不同的格式 ('03-february-20')。 H2 数据库针对该格式(“2020-02-03”)抛出错误。
我需要在 h2 数据库的查询中将字符串“03-february-20”转换为日期“2020-02-03”。请告诉我该怎么做?
感谢您的时间和耐心等待。
不清楚你在做什么。 Oracle 的 DATE 数据类型没有 "format"。或者更确切地说,它是一种内部的二进制格式。如果您想要 select DATE 数据类型的列,并将其转换为字符串表示形式(供人类或其他一些需要日期的字符串表示形式的进程使用,那么您将使用 to_char功能:
select to_char(my_date,'dd-Mon-yyyy') from mytable;
并使用您需要的任何格式掩码来生成您想要的结果。我使用的格式掩码是 'dd-Mon-yyyy',它将今天的日期显示为 27-Feb-2020。
例如使用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');
我正在编写使用 h2 的 junit 测试。 Oracle 使用不同的格式 ('03-february-20')。 H2 数据库针对该格式(“2020-02-03”)抛出错误。
我需要在 h2 数据库的查询中将字符串“03-february-20”转换为日期“2020-02-03”。请告诉我该怎么做?
感谢您的时间和耐心等待。
不清楚你在做什么。 Oracle 的 DATE 数据类型没有 "format"。或者更确切地说,它是一种内部的二进制格式。如果您想要 select DATE 数据类型的列,并将其转换为字符串表示形式(供人类或其他一些需要日期的字符串表示形式的进程使用,那么您将使用 to_char功能:
select to_char(my_date,'dd-Mon-yyyy') from mytable;
并使用您需要的任何格式掩码来生成您想要的结果。我使用的格式掩码是 'dd-Mon-yyyy',它将今天的日期显示为 27-Feb-2020。
例如使用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');