Uniapp中日期时间获取与格式化的几个实用方法
把日期处理抽成工具类,包含系统默认格式化、自定义格式化和获取星期几,再在页面里调用刷新,算是一个小模块的完整实现记录。
支持通配符SSL证书、多域名证书、IP证书。适配ACME接口, 支持Zerossl、Let's Encrypt和Google等渠道。登录已有账号
2026-06-22 16:15:35 SQL 日期格式化 数据库
日常写SQL经常碰到要统一日期格式的场景,比如前端展示或者做数据对齐,通常需要转成yyyy-mm-dd。不同数据库用的函数差别挺大,每次现查还不如记一笔。
Oracle和PostgreSQL这块倒是很一致,都靠TO_CHAR。
Oracle里直接:
SELECT TO_CHAR(date_column, 'YYYY-MM-DD') AS formatted_date FROM table_name;
PostgreSQL也是一模一样的写法:
SELECT TO_CHAR(date_column, 'YYYY-MM-DD') AS formatted_date FROM table_name;
注意格式字符串里大小写都有意义,YYYY是四位年份,MM是两位月,DD是两位日,别手滑写成小写。
这两个数据库的TO_CHAR能力远不止这点,不过只取日期部分这么写就够了。
MySQL没有TO_CHAR,它用DATE_FORMAT,格式符还不太一样。要得到yyyy-mm-dd得写%Y-%m-%d:
SELECT DATE_FORMAT(date_column, '%Y-%m-%d') AS formatted_date FROM table_name;
%Y四位年、%m两位月、%d两位日,跟TO_CHAR那套不一样,一开始从Oracle切到MySQL的人这里容易绕一下。
SQL Server的情况有点特殊,老一点的写法是CONVERT,靠样式代码:
SELECT CONVERT(varchar(10), date_column, 120) AS formatted_date FROM table_name;
varchar(10)刚好能放下yyyy-mm-dd,样式代码120就是指定这种格式。如果你用的是SQL Server 2012之后的版本,也可以用FORMAT函数,写法更直观一些:
SELECT FORMAT(date_column, 'yyyy-MM-dd') AS formatted_date FROM table_name;
不过FORMAT里的MM必须大写,它跟.NET的格式字符串规则一致,小写mm会变成分钟,线上跑起来问题就出来了。
平时我自己写的时候,Oracle/PostgreSQL一把梭用TO_CHAR,MySQL记住DATE_FORMAT和那个百分号,SQL Server优先CONVERT因为兼容范围更广,除非确定环境都是2012以上才会用FORMAT。基本就这几种情况,备查够了。
把日期处理抽成工具类,包含系统默认格式化、自定义格式化和获取星期几,再在页面里调用刷新,算是一个小模块的完整实现记录。
遇到 SQLite 删除主表记录时报外键约束失败,整理了几种处理方式,包括手动删子表、建表时开级联,以及重建表加外键的步骤。
还在为SQL `ORDER BY` 子句报错“在应使用条件的上下文指定了非布尔类型的表达式”而困扰吗?本文深入剖析了这一常见错误的原因,包括错误的列名、函数使用不当、括号匹配问题及子查询滥用。提供清晰的修正路径,助你轻松掌握SQL排序奥秘。
掌握Uniapp中日期时间处理的艺术!本文深入剖析如何优雅地获取当前时间,实现系统默认与自定义格式化,并轻松获取星期信息。通过精心设计的模块化封装和JavaScript Date对象的灵活运用,构建一套跨平台、高可用的时间处理工具,让你的Uniapp应用时间管理更智能、更高效。
你的DELETE操作是否常常导致数据库卡顿?本文揭示MySQL与SQL Server中DELETE语句的性能瓶颈,并提供一套行之有效的优化方案。学习如何巧妙利用索引、进行分批删除、避免全表扫描,以及正确使用TRUNCATE与事务管理,让你从容应对大数据删除挑战,显著提升数据库响应速度。