实战演练 | 在 Navicat 中格式化日期和时间

Navicat 支持团队收到来自用户常问的一个问题是,如何将网格和表单视图中的日期和时间进行格式化。其实这个很简单。今天,我们将介绍在 Navicat Premium 中进行全局修改日期和时间格式的步骤。

如果你想边学边用,欢迎点击 这里 下载免费全功能试用版。

你可以在"选项"对话中的"记录"页面设置日期和时间的显示格式。通过点击主菜单中的"工具"->"选项"来访问它:

在"记录"页面的"显示格式"部分,我们可以看到日期、时间和日期时间格式(红色框标注部分):

设置格式

以 Sakila 示例数据库为例,对其日期时间格式进行更新。Sakila 数据库中大多数表都包含日期时间字段,名为 last_update,可用于审计。我们可以从截图中的 actor 表中看到(红色框标注部分)它:

默认情况下,Navicat 以数据库定义的格式来显示日期和时间。在 MySQL 中,以"YYYY-MM-DD hh:mm:ss"格式显示日期时间,如"2019-10-12 14:35:18"(注意使用24小时制)。

标准 SQL 和 ODBC 的日期和时间字符

"YYYY-MM-DD hh:mm:ss"字符串中的字母含义是标准 SQL 和 ODBC 日期和时间字符的一部分,这些是表示 SQL 查询中的日期和时间值的标准化方法。它们为在 SQL 语句中指定日期和时间值提供了一个一致且与平台独立的方法。以下是一个包含每个字母样式及其含义的列表。你需要熟悉它们,因为 Navicat 也使用它们来设置日期和时间格式:

  • c - 使用系统全局变量指定的格式显示日期,然后使用系统全局变量指定的格式显示时间。 如果日期时间值恰好为午夜,则不显示时间。

  • d - 将日显示为无前导零的数字(1-31)。

  • dd - 将日显示为有前导零的数字(01-31)。

  • ddd - 将日显示为缩写(Sun-Sat)。

  • dddd - 将日显示为完整名称(Sunday-Saturday)。

  • ddddd - 使用系统全局变量指定的格式显示日。

  • dddddd - 使用系统全局变量指定的格式显示日。

  • m - 显示没有前导零的月份数字(1-12)。如果 m 说明符紧跟在 h 或 hh 说明符后面,则显示分钟而不是月份。

  • mm - 显示有前导零的月份数字(01-12)。如果 mm 说明符紧跟在 h 或 hh 说明符后面,则显示分钟而不是月份。

  • mmm - 使用系统全局变量中提供的字符串,将月份显示为缩写形式(Jan-Dec)。

  • mmmm - 使用系统全局变量中提供的字符串,将月份显示为完整名称(January-December)。

  • yy - 将年份显示为两位数(00-99)。

  • yyyy - 将年份显示为四位数(0000-9999)。

  • h - 将小时数显示为有前导零的数字(00-23)。

  • hh - 将小时数显示为有前导零的数字(00-23)。

  • n - 将分钟数显示为无前导零的数字(0-59)。

  • nn - 将分钟数显示为有前导零的数字(00-59)。

  • s - 秒数显示为无前导零的数字(0-59)。

  • ss - 将秒数显示为有前导零的数字(0-59)。

  • t - 使用系统全局变量指定的格式显示时间。

  • tt - 使用系统全局变量指定的格式显示时间。

  • am/pm - 对于前面的 h 或 hh 说明符使用 12 小时制,则中午之前的任何小时显示 'am',中午之后的任何小时显示 'pm'。am/pm 说明符可以使用小写、大写或混合大小写,并相应地显示结果。

  • a/p - 对于前面的h或hh说明符使用 12 小时制,则中午之前的任何小时显示 'a',中午之后的任何小时显示 'p'。a/p 说明符可以使用小写、大写或混合大小写,并相应地显示结果。

  • ampm - 对于前面的 h 或 hh 说明符使用 12 小时制,中午之前的任何小时显示系统全局变量的内容,对于中午之后的任何小时显示系统全局变量的内容。

  • / - 日期分隔符。在一些地区,可能会使用其他字符来表示日期分隔符。

  • : - 时间分隔符。在一些地区,可能会使用其他字符来表示时间分隔符。

  • 'xx' 或 "xx" - 用单引号或双引号括起来的字符会按原样显示,格式不会发生更改。

现在,让我们将全局 Navicat 日期时间格式更改为不带前导零的数字日期、三个字母的月份缩写以及包括 AM 或 PM 指示符的 12 小时制时间来表示。

将上述指令作为指南,将得出格式字符串"mmm d, yyyy hh:mm:ss AM/PM"。在输入时,我们可以在"输出"字段中实时查看结果:

点击"确定"按钮并关闭选项对话框后,所有的日期时间字段都将使用我们定义的日期时间格式显示。这是我们前面提到的 actor 表的 last_update 列:

请记住,新格式将适用于所有数据库。为了确认这一点,让我们看一下 classicmodels 数据库中的 orders 表。它包含三个日期时间列,但只设置了日期部分。这些列也将按照我们的新格式显示其值:

结语

本文中,我们了解了如何在"选项"对话框中轻松地修改全局的日期和时间格式。虽然我们今天在这里使用的是 Navicat Premium ,但其他 Navicat 产品(如 Navicat for MySQL 或 Navicat for SQL Server)的操作方式亦完全相同。

往期回顾

Navicat 16 已支持 Redis

Navicat 16 已支持华为云 GaussDB

Navicat 16 已支持蚂蚁集团 OceanBase 全线数据库

Navicat 常见技术教程

Navicat 入选中国信通院发布的《中国数据库产业图谱(2023)》

相关推荐
想摆烂的不会研究的研究生6 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
码熔burning7 小时前
MySQL 8.0 新特性爆笑盘点:从青铜到王者的骚操作都在这儿了!(万字详解,建议收藏)
数据库·mysql
猫头虎7 小时前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
哈库纳玛塔塔7 小时前
放弃 MyBatis,拥抱新一代 Java 数据访问库
java·开发语言·数据库·mybatis·orm·dbvisitor
@LetsTGBot搜索引擎机器人9 小时前
2025 Telegram 最新免费社工库机器人(LetsTG可[特殊字符])搭建指南(含 Python 脚本)
数据库·搜索引擎·机器人·开源·全文检索·facebook·twitter
计算机毕设VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue动物园管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
冉冰学姐9 小时前
SSM校园排球联赛管理系统y513u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架应用·开题报告、
Tony Bai10 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构
wb0430720111 小时前
SQL工坊不只是一个ORM框架
数据库·sql
至善迎风11 小时前
Redis完全指南:从诞生到实战
数据库·redis·缓存