如何在存储过程 MySql 中设置默认时区

Posted

技术标签:

【中文标题】如何在存储过程 MySql 中设置默认时区【英文标题】:how to set default time zone in stored procedure MySql 【发布时间】:2014-12-09 10:04:06 【问题描述】:

任何人都可以分享存储过程的 date_default_time_zone 语法是什么吗?

反正我有这个函数叫

NOW()

获取日期和时间并将其存储到数据库中,但如果我没记错的话,它正在获取服务器时间。

提前谢谢你们。

【问题讨论】:

【参考方案1】:

日期/时间来自运行 SQL Server 实例的计算机的操作系统。

但是,您可以使用自定义 UDF 来代替 getdate() 调用,然后在该 UDF 中更改时区。您还可以使用类似这样的方式为列分配默认值

CREATE TABLE Test (Val DATETIME DEFAULT  dateadd(hh,-3,GETDATE()))

现在,当您进行插入时,它将使用默认值

INSERT test DEFAULT VALUES

SELECT * FROM test

....这当然不适用于更新,也有人可以更新该值

如果您想使用 GMT,请使用 GETUTCDATE

SELECT GETUTCDATE()

【讨论】:

如何使用 phpmyadmin 来实现? 感谢您的回答。无论如何,有什么方法我不需要存储那个时间或为此创建新表?

以上是关于如何在存储过程 MySql 中设置默认时区的主要内容,如果未能解决你的问题,请参考以下文章

我可以在存储过程中设置默认架构吗?

如何在存储过程中设置日期时间可选参数?

如何在 GitHub 和 Jenkins 中设置 DB2 存储过程

在 PHP 和 MySQL 中设置时区

《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集 (转)

MySQL设置时区和默认编码