gpt4 book ai didi

oracle - 测试 Oracle to_date 函数

转载 作者:行者123 更新时间:2023-11-28 19:43:18 25 4
gpt4 key购买 nike

我正在使用 GORM 在 Grails 中编写集成测试。

我想做如下的事情:

delete from Statistic 
where stat_date = TO_DATE(:month_year, 'MON-YYYY')

但是我得到以下错误:

java.sql.SQLException: Unexpected token: TO_DATE in statement [delete from statistics where stat_date=TO_DATE(?, 'MON-YYYY')]

我认为这个错误是由于 GORM 使用的内存数据库(是 H2 吗?)不支持 to_date 函数导致的。

关于如何编写 delete SQL 以使其在测试和实际中工作的任何想法?

因为我只真正关心月份和年份,所以我想我应该删除 stat_date 在给定月份的第一个日期和最后一个日期之间的记录。

谁能想到更好的方法?

最佳答案

这仍然在谷歌搜索中排名第一,所以这对我有用。

我的单元测试/本地环境使用 sql 文件构建和填充模式。我在sql文件中创建了以下别名

-- TO_DATE 
drop ALIAS if exists TO_DATE;
CREATE ALIAS TO_DATE as '
import java.text.*;
@CODE
java.util.Date toDate(String s, String dateFormat) throws Exception {
return new SimpleDateFormat(dateFormat).parse(s);
}
';

注意在 h2 user defined functions 中使用单引号而不是 $$因为那是唯一适合我的格式。

关于oracle - 测试 Oracle to_date 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6829703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com