mysql去掉时间字段多出来的.0

本文介绍如何在Java中处理从MySQL数据库获取的DateTime类型数据,特别关注去除不需要的毫秒部分,提供了一个简单的解决方案。

msyql的datetime类型数据,用java取出来后会多个.0,例如16:19:27.0,.0表示毫秒,如不需要格式化一下即可

select DATE_FORMAT(CREATE_DATE, '%Y-%m-%d %k:%i:%s') from table_test
MySQL 中,`DISTINCT` 关键字用于去除重复的行。当使用 `DISTINCT` 对**字段**进行去重时,MySQL 会根据这些字段的**组合值**来判断是否重复,而不是单个字段。 --- ### ✅ 示例说明: 假设你有一张表 `team_activities`: | team_id | activity_type | location | |---------|---------------|-----------| | 1 | meeting | Building A| | 1 | meeting | Building A| | 1 | meeting | Building B| | 2 | training | Building A| | 2 | training | Building A| 你想要去重 `team_id` 和 `activity_type` 的组合(即同一个团队的同一种活动类型只保留一条记录): ```sql SELECT DISTINCT team_id, activity_type FROM team_activities; ``` ### 输出结果: | team_id | activity_type | |---------|---------------| | 1 | meeting | | 1 | meeting | ← 注意:如果 location 不同但前两个字段相同也算重复吗? | 2 | training | 实际上,如果只选 `team_id` 和 `activity_type`,上面的两个 `1 | meeting` 是相同的,所以只会保留一条。 --- ### ✅ 字段去重的语法: ```sql SELECT DISTINCT column1, column2, ..., columnN FROM table_name; ``` MySQL 会根据 `column1, column2, ..., columnN` 的组合来判断是否为重复行。 --- ### ✅ 示例:保留完整记录中的唯一组合 如果你想保留完整记录,但又希望根据字段去重,可以使用子查询或 `GROUP BY`: ```sql SELECT t.* FROM team_activities t JOIN ( SELECT team_id, activity_type, MIN(id) AS min_id FROM team_activities GROUP BY team_id, activity_type ) AS grouped ON t.team_id = grouped.team_id AND t.activity_type = grouped.activity_type AND t.id = grouped.min_id; ``` 这个查询会根据 `team_id` 和 `activity_type` 去重,并保留每组中 `id` 最小的那条记录。 --- ### ✅ 与 GROUP BY 的对比: | 特性 | `DISTINCT` | `GROUP BY` | |------|------------|------------| | 目的 | 去除重复行 | 分组聚合 | | 性能 | 通常更快 | 更适合聚合 | | 是否支持聚合函数 | 否 | 是 | | 用法 | `SELECT DISTINCT col1, col2` | `SELECT col1, col2 FROM ... GROUP BY col1, col2` | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值