首页 > 数据库 >工作中遇到的坑:pg数据库保存时间[2023-10-10T01:12:32:910.345343]自动抹零

工作中遇到的坑:pg数据库保存时间[2023-10-10T01:12:32:910.345343]自动抹零

时间:2023-10-27 23:32:17浏览次数:37  
标签:10 12 TIMESTAMP 数据库 类型 日期 01 32 DATE

今天数据入库的时候遇到了一个小问题。

问题

postrgrepSQL数据库中存储2023-10-10T01:12:32:910.345343类型的数据,数据库使用

timestamp类型,存储完成后,会变成2023-10-10 01:12:32.91 自动将0抹掉

解决方案 使用TO_CHAR:

数据库数据

工作中遇到的坑:pg数据库保存时间[2023-10-10T01:12:32:910.345343]自动抹零_日期格式化

SELECT * FROM test

执行结果

工作中遇到的坑:pg数据库保存时间[2023-10-10T01:12:32:910.345343]自动抹零_数据库_02

SELECT name,age,TO_CHAR(inputtime, 'yyyy-mm-dd hh24:mi:ss.ms') AS formatted_time FROM test

执行结果

工作中遇到的坑:pg数据库保存时间[2023-10-10T01:12:32:910.345343]自动抹零_数据库_03

TO_CHAR(inputtime, 'yyyy-mm-dd hh24:mi:ss.ms') 中的'yyyy-mm-dd hh24:mi:ss.ms' 不区分大小写

将上面的时间格式,使用java代码进行格式化

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeFormattingExample {
    public static void main(String[] args) {
        String dateTimeString = "2023-10-10T01:12:32.910345343";
        LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, DateTimeFormatter.ISO_LOCAL_DATE_TIME);

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
        String formattedDateTime = dateTime.format(formatter);

        System.out.println("Formatted Date Time: " + formattedDateTime);
    }
}

输出结果:

工作中遇到的坑:pg数据库保存时间[2023-10-10T01:12:32:910.345343]自动抹零_日期格式化_04


DATE和TIMESTAMP的区别

DATE和TIMESTAMP是两种不同的日期时间类型,它们有一些区别:

  1. 存储范围:DATE类型存储日期信息,精确到年、月、日,范围通常为公元前1000年到公元9999年。而TIMESTAMP类型存储日期和时间信息,精确到秒或更小的精度,范围通常为1970-01-01 00:00:01到2038-01-19 03:14:07(对于32位系统)或者公元前4713年到公元9999年(对于64位系统)。
  2. 存储空间:DATE类型通常需要较少的存储空间,因为它只存储日期部分。而TIMESTAMP类型需要更多的存储空间,因为它存储日期和时间部分。
  3. 表示方式:DATE类型以'YYYY-MM-DD'的格式表示日期,没有时间部分。TIMESTAMP类型以'YYYY-MM-DD HH:MM:SS'的格式表示日期和时间。
  4. 自动更新功能:在某些数据库中,TIMESTAMP类型具有自动更新功能。当插入或更新行时,如果该列被定义为TIMESTAMP类型,并且没有指定具体的值,数据库会自动将当前的日期和时间赋给该列。而DATE类型没有这种自动更新的功能。
  5. 时区支持:在某些数据库中,TIMESTAMP类型可以包含时区信息,例如TIMESTAMP WITH TIME ZONE。这使得在不同时区之间进行日期和时间转换更加方便。而DATE类型通常不包含时区信息。


标签:10,12,TIMESTAMP,数据库,类型,日期,01,32,DATE
From: https://blog.51cto.com/AmbitionGarden/8063089

相关文章

  • python123 第二章:我的读书笔记
    print("后四位学号:3114")print("\n03")#03运行超市抹零结账行为‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪......
  • 2023-2024-1 20231320 《计算机基础与程序设计》第五周学习总结
    2023-2024-120231320《计算机基础与程序设计》第五周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第五周作业)这个作业的目标<自学《计算机基础与......
  • 10.27
    今天学习了分层解耦    ......
  • 20211129《信息安全系统设计与实现》第四章学习笔记
    一、任务内容自学教材第4章,提交学习笔记(10分)1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”核心是要求GPT:“请你以苏格拉......
  • AtCoder Beginner Contest 325
    感觉错失了上分机会A-Takahashisan(abc325A)题目大意给定姓和名,输出尊称,即姓+san。解题思路按照题意模拟即可。神奇的代码#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;intmain(void){ios::sync_with_stdio(false);cin.tie(......
  • 2023.10.27——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......
  • 20231027
    23/10/27NOIP模拟赛总结时间安排:7:40-8:30看T1,没啥思路,一开始以为是组合数,写了个递推求组合数发现是最简单的DP,测样例,手搓了几组小样例都过了。8:30-8:50T2只会模拟,写的get函数有点麻烦,耽误了一些时间。9:00-9:30看T3T4都没想到,去写T5暴力。9:30-10:20T5暴力取模的地方......
  • 10.23
    上午工程实训学习了电路板的焊接,把电阻,电容二极管等原件焊接到电路板上,然后实现通电使小灯泡亮,过程中遇到了很多困难,但是都克服了过去,最终完成了任务,下午上了java,讲了流和文件,并且进行了课堂测试翻译哈利波特英文版。......
  • 10.26
    上午上了统一建模语言,讲了状态机,然后上了蓝球体育课,讲了全场三步上篮,以及运球进攻,最后进行了比赛,比赛输了,但是收获了很多,下午上了数据结构和离散数学,数据结构讲了图论,离散数学,讲了极大元,极小元,下界,上界。......
  • 20231027NOIP训练赛
    20231027NOIP训练赛时间安排7:40-9:20写T19:20-10:20写T210:20-11:10写T3T411:10-11:50写T5总结T1写挂了,T3的set超时了题解T1简单DP题T2把加转化为差分,差分数组进行区间加操作,用线段树维护T3用一个栈维护一下没有被匹配的字符即可T4结论题,答案要么删掉一个点,要......