我可以在查询中更改Mysql当前时间CURTIME()以进行测试吗?

时间:2016-07-11 12:48:39

标签: mysql

我有单元测试,我希望CURTIME()总是返回同一时间,我能以某种方式做到这一点吗?

我可以设置时区:

SET time_zone = 'America/New_York';
SELECT CURTIME();

但有没有办法设定时间?

我的部分疑问是:

(CURTIME() BETWEEN
TIME(CONVERT_TZ(opening_time, timezone, "UTC"))
AND TIME(CONVERT_TZ(closing_time, timezone, "UTC")))

我想测试更多时区和不同时间

1 个答案:

答案 0 :(得分:2)

CURTIME()基于服务器时区,因此改变它的唯一方法是直接更改服务器时区:

val user = User(123L) _ // user now has only the ID

// later on
val completeUser = user("moreo") // user now also has the username

在调试目的中,我只是使用@juergend idea来使用静态时间字符串来进行测试。

编辑:没读好,你已经知道那一部分了。不过,我不明白为什么你不在查询中使用静态时间字符串,无论你在查询中有多少次这样做

SET time_zone = 'France/Paris';