当前位置: 首页 > news >正文

JPA sql 中将 字符串(“2026-07-17 00:18:59”)转成Date

在 SQL 中,将"2026-07-17 00:18:59"这种格式的字符串转换为DATE(只保留年月日,丢弃时分秒)或DATETIME(保留完整时间),有以下几种方法:


一、MySQL 中的转换

1. 转为DATE(只保留年月日)

sql

SELECT DATE('2026-07-17 00:18:59') AS result; -- 结果: 2026-07-17 SELECT CAST('2026-07-17 00:18:59' AS DATE) AS result; -- 结果: 2026-07-17 SELECT STR_TO_DATE('2026-07-17 00:18:59', '%Y-%m-%d %H:%i:%s') AS result; -- 结果: 2026-07-17

2. 转为DATETIME(保留完整时间)

sql

SELECT STR_TO_DATE('2026-07-17 00:18:59', '%Y-%m-%d %H:%i:%s') AS result; -- 结果: 2026-07-17 00:18:59

3. 转为TIMESTAMP

sql

SELECT TIMESTAMP('2026-07-17 00:18:59') AS result; -- 结果: 2026-07-17 00:18:59

二、SQL Server 中的转换

sql

SELECT CONVERT(DATE, '2026-07-17 00:18:59', 120) AS result; -- 结果: 2026-07-17 SELECT CONVERT(DATETIME, '2026-07-17 00:18:59', 120) AS result; -- 结果: 2026-07-17 00:18:59 SELECT CAST('2026-07-17 00:18:59' AS DATETIME) AS result;

格式码120对应yyyy-mm-dd hh:mi:ss(24h),适用于你的字符串格式。


三、Oracle 中的转换

sql

SELECT TO_DATE('2026-07-17 00:18:59', 'YYYY-MM-DD HH24:MI:SS') AS result FROM dual; -- 结果: 2026-07-17 00:18:59

Oracle 的DATE类型本身就包含时间部分。


四、PostgreSQL 中的转换

sql

SELECT '2026-07-17 00:18:59'::DATE AS result; -- 结果: 2026-07-17 SELECT '2026-07-17 00:18:59'::TIMESTAMP AS result; -- 结果: 2026-07-17 00:18:59

五、在你的场景中(MySQL + JPA 接口投影)

如果你需要在 SQL 中将字符串转为DATE,然后在 JPA 接口投影中返回Date类型:

SQL 写法

sql

SELECT vin, DATE(time) AS time, -- 转为 DATE(丢弃时分秒) field FROM your_table

或保留完整时间:

sql

SELECT vin, STR_TO_DATE(time, '%Y-%m-%d %H:%i:%s') AS time, field FROM your_table

VO 接口定义

java

public interface DrivingRecordVO { String getVin(); Date getTime(); // 对应 SQL 中的 time 列 String getField(); }

六、常用格式符对照表(MySQL STR_TO_DATE)

格式符含义示例
%Y四位年份2026
%m两位月份07
%d两位日期17
%H24小时制小时00
%i分钟18
%s59

你的字符串格式2026-07-17 00:18:59,对应格式:

sql

STR_TO_DATE('2026-07-17 00:18:59', '%Y-%m-%d %H:%i:%s')

七、总结

数据库转 DATE转 DATETIME/TIMESTAMP
MySQLDATE(str)CAST(str AS DATE)STR_TO_DATE(str, '%Y-%m-%d %H:%i:%s')
SQL ServerCONVERT(DATE, str, 120)CONVERT(DATETIME, str, 120)
OracleTO_DATE(str, 'YYYY-MM-DD HH24:MI:SS')同上(DATE 已包含时间)
PostgreSQLstr::DATEstr::TIMESTAMP

如果你的数据库是MySQL,直接使用:

sql

SELECT STR_TO_DATE('2026-07-17 00:18:59', '%Y-%m-%d %H:%i:%s') AS result;

这个写法既支持转为DATE(会自动截断时间),也支持转为DATETIME(保留完整时间)。在你的 JPA 接口投影中,直接映射为Date类型即可。

http://www.jsqmd.com/news/1248089/

相关文章:

  • Claude记忆功能技术解析与应用实践
  • 2026年7月上海欧米茄售后网点全网公告:60+门店地址优化升级、服务热线同步启用 - 欧米茄售后服务官网
  • 恒美智造种子发芽箱—国产主流一线厂家种子催芽箱品牌推荐 - 专业仪器测评品牌推荐
  • GTCFX:聚焦细节,看看运营连贯性的关键逻辑
  • TI bq27505电量计操作配置与引脚功能代码深度解析
  • 2026年AI论文写作工具现状与避坑指南
  • TVP5151视频解码芯片硬件设计与I2C配置实战指南
  • 沈阳萧邦售后服务门店|售后电话及地址权威公告(2026年7月最新) - 萧邦官方售后服务中心
  • 2026年PC装机指南:DDR5与PCIe5.0配置解析
  • 2026儿童家居商城小程序开发十大平台测评:成长内容、预约与会员怎么选?含零代码SAAS、AI编程、源码定制交付
  • SolidWorks航母三维建模技术与工程实践
  • TI bq27505-J3电量计实战:阻抗跟踪算法、数据闪存与安全模式配置详解
  • Tiva Hibernate模块RTC配置:嵌入式低功耗精准定时唤醒实战指南
  • 大模型在营销文案生成中的工程实践与优化
  • 元初混沌 6G 全域通感一体化体系架构 第一卷 第五十二篇 RIS智能超表面五行调衡架构
  • AI Agent如何重塑软件开发项目管理
  • OMEGA 维修点全国地址清单,2026 年 7 月最新,欧米茄售后地址电话 - 欧米茄维修服务中心
  • Error:Cannot determine path to ‘tools.jar‘ library for 17 (D:\develop\java\jdk17)
  • 观察杭州临安庭院全案三年,发现几个行业真相 - 速递信息
  • Spine动画性能优化全攻略:从资源瘦身到渲染合批
  • 开放式耳机口碑怎么样?一文看懂十大口碑最好蓝牙耳机品牌
  • 2026地方茶饮商城小程序开发十大平台测评:文化内容、礼盒与会员怎么选?含零代码SAAS、AI编程、源码定制交付
  • AgentScope Skills机制:模块化能力封装与工程实践
  • 当AI成为黑客的帮凶:深度解析Instagram大规模账户劫持事件背后的技术真相
  • 餐饮数字化新基建解析:全链路门店智能运营体系落地实践
  • 102、Chipset ISP vs 独立ISP:架构选型与性能权衡
  • 2026年高品质云南订制游合规渠道全维度盘点 服务商选型标准解析及避坑FAQ 多类主体适配场景梳理 - 老金2026
  • jdk8 list 删除500行开始的数据
  • 大模型微调成本分析:LoRA、QLoRA与全参数微调的经济性对比与企业落地策略
  • YOLO-AR算法:水下目标检测的创新与实践