如何在PostgreSQL中转换给定的日期时间格式?

我有一个日期时间列,其格式如下:

  

2019-11-10-07.10.55.865000

我希望我的格式如下:

  

2019-11-10 07:10:55.865000

如何在PostgreSQL 9.6.11中做到这一点?

fanyinfu 回答:如何在PostgreSQL中转换给定的日期时间格式?

我们可以尝试从文本到时间戳进行完整的往返,然后再次返回文本:

SELECT
    TO_CHAR(TO_TIMESTAMP('2019-11-10-07.10.55.865000','YYYY-MM-DD-HH.MI.SS.US'),'YYYY-MM-DD HH:MI:SS.US') AS ts_out;

这将输出:

2019-11-10 07:10:00.865000

Demo

作为旁注,您应该认真考虑 not 首先将时间戳记存储为文本。理想情况下,如果您想以某种方式查看时间戳列,例如出于报告目的,您只需使用要使用的格式掩码对TO_CHAR进行一次调用。

,

l <- readLines("delim.txt") ch <- c(grep("^\\D",l)) l2 <- apply(rbind(ch,c(ch[-1] - 1,length(l))),2,function(x) Reduce(paste,l[x[1]:x[2]])) l3 <- lapply(sapply(strsplit(l2,"\\D"),as.numeric),na.omit) d <- matrix(NA,max(sapply(l3,max)),length(l3)) let <- gsub("(.*)\\=.*","\\1",l2) # the col-names sapply(seq(length(l3)),function(n) d[l3[[n]],n] <<- let[n]) setNames(as.data.frame(d),let) # A B C # 1 A <NA> <NA> # 2 A <NA> <NA> # 3 A B <NA> # 4 <NA> B <NA> # 5 <NA> B C # 6 A <NA> <NA> # 7 A <NA> C # 8 <NA> <NA> C # 9 A <NA> <NA> # 10 A <NA> C # 11 <NA> <NA> C # 12 <NA> <NA> <NA> # 13 <NA> <NA> C # 14 <NA> <NA> C 函数,例如to_char(timestamp,text)

https://www.postgresql.org/docs/current/functions-formatting.html

本文链接:https://www.f2er.com/2995385.html

大家都在问