首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以转换为格式为'yyyy-MM-dd HH:mm:ss.S‘的日期?

是否可以转换为格式为'yyyy-MM-dd HH:mm:ss.S‘的日期?
EN

Stack Overflow用户
提问于 2019-06-06 18:16:31
回答 1查看 261关注 0票数 0

我有一个包含两列的表,id (字符串)和myTs (bigint)。

我想创建一个包含这两列的视图,但myTs必须是date类型:

代码语言:javascript
运行
复制
CREATE myView AS SELECT id, myToDate(myTs) FROM myTable;

myTs是一个时间戳,我想将它转换为具有欧洲时区/马德里时区和yyyy-MM-dd HH:mm:ss.S格式的日期。例如,在myTs = 1167529028000中,如果我执行:

代码语言:javascript
运行
复制
from_utc_timestamp(myTs, 'Europe/Madrid') 
--Result: '2006-12-31 02:37:08.0'

我得到了正确的结果,但类型是timestamp,如果我尝试将其强制转换为date,则会丢失格式:

代码语言:javascript
运行
复制
cast(from_utc_timestamp(myTs, 'Europe/Madrid') as date) 
--Result: '2006-12-31'

另一种选择:

代码语言:javascript
运行
复制
date_format(from_utc_timestamp(myTs, 'Europe/Madrid'), 'yyyy-MM-dd HH:mm:ss.S') 
--Result: '2006-12-31 02:37:08.0'

结果是字符串,如果我将其转换为Date,则再次删除以下格式:

代码语言:javascript
运行
复制
cast(date_format(from_utc_timestamp(myTs, 'Europe/Madrid'), 'yyyy-MM-dd HH:mm:ss.S') as Date) 
--Result: '2006-12-31'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-07 02:06:27

你很好地解释了你的问题。但不幸的是,这是不可能的。如果您将任何字段定义为日期,则它只是一个日期。当你添加小时、分钟、秒时,你必须将它们定义为时间戳。日期格式将只有年、月和日。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56475500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档