当前位置: 首页 > 知识库问答 >
问题:

如何将时间戳转换为VARCHAR并在红移中保存到另一个表中?

宰父衡
2023-03-14

我有一个表,有一些如下的值,

CREATE TABLE school_1__test.tstamp(
    timeofday TIMESTAMP,
    timeofdaytz TIMESTAMP
);

insert into school_1__test.tstamp values('Jun 1,2008  09:59:59', 'Jun 1,2008 09:59:59 EST' );
insert into school_1__test.tstamp values('Dec 31,2008 18:20','Dec 31,2008 18:20');
insert into school_1__test.tstamp values('Jun 1,2008  09:59:59 EST', 'Jun 1,2008 09:59:59');

select * from school_1__test.tstamp;

-----------------------------------------------
     timeofday        |      timeofdaytz
-----------------------------------------------
2008-06-01 09:59:59.0 | 2008-06-01 09:59:59.0
2008-12-31 18:20:00.0 | 2008-12-31 18:20:00.0
2008-06-01 09:59:59.0 | 2008-06-01 09:59:59.0
CREATE TABLE school_1__test.date_test(
    timeofday VARCHAR
);
INSERT INTO school_1__test.date_test (
    select to_char(timeofday, 'YYYY-MM-DD HH:MI:SS')
    --select convert(timestamp, timeofday)
    --select cast(timeofday as timestamp)
    --select to_timestamp("timeofday",'YYYY-MM-DD HH:MI:SS')
    --select timeofday::timestamp
    --select to_date(timeofday,'YYYY-MM-DD HH:MI:SS')
    --select convert(varchar, timeofday::timestamp)
    --select convert(varchar, to_timestamp("timeofday",'YYYY-MM-DD HH:MI:SS'))
    from school_1__test.tstamp
);
select * from school_1__test.date_test;

----------
timeofday
----------
2008-06-01
2008-06-01
2008-12-31
select to_char(timeofday, 'YYYY-MM-DD HH:MI:SSTZ')
--select convert(timestamp, timeofday)
--select cast(timeofday as timestamp)
--select to_timestamp("timeofday",'YYYY-MM-DD HH:MI:SS')
--select timeofday::timestamp
--select to_date(timeofday,'YYYY-MM-DD HH:MI:SS')
--select convert(varchar, timeofday::timestamp)
--select convert(varchar, to_timestamp("timeofday",'YYYY-MM-DD HH:MI:SS'))
from school_1__test.tstamp

-------------------
      to_char
-------------------
2008-06-01 09:59:59
2008-12-31 06:20:00
2008-06-01 09:59:59

当使用insert命令时,获得datetime部分的解决方案是什么?

共有1个答案

董翰墨
2023-03-14

我在Amazon Redshift中使用Amazon Redshift控制台中的查询编辑器运行良好。

我使用了与您完全相同的命令(没有模式名)。

 类似资料:
  • 我在redshift表中有一个varchar列,其中时间以24小时格式存储,例如,我想查询该表并将格式转换为12小时格式,显示时间为上午或下午。当我测试like时,它工作得很好,但是当我用列名代替查询表的硬编码值时, 它不会工作,给出一个错误

  • 问题内容: 具体来说,给定服务器的时区(系统时间角度)和时区输入,我如何计算系统时间,就像它在那个新时区中一样(无论夏时制如何)? 问题答案: 如果知道您的原始时区和要将其转换为的新时区,那么结果将非常简单: 为当前时区和新时区都创建一个对象,例如。如果您不知道时区的官方名称,只需拨打以下电话即可找到所有官方时区的列表 呼叫使用当前时区的pytz对象与你的日期时间/时间戳输入到它定位到当前时区。例

  • 我几天来一直在找这个。 当然,更经常使用Presto的其他人知道如何正确地表达转换。(我无法重新启动Presto或Hive服务器来强制时区进入UTC(顺便说一句)。

  • 问题内容: 论坛成员 我在Java中遇到日期时间问题。实际上,我正在接收 格式为2012-02-27T01:10:10 的开始日期,并且我想将接收到的日期插入具有datetime数据类型的数据库中。 实际上,我尝试通过以下代码将收到的开始日期转换为日期时间 但是使用上面的代码,只有 日期被添加到我的数据库中,例如2012-02-27 00:00:00 我也想将时间添加到数据库中,但是当我将Simp

  • 问题内容: 如何在MySQL中转换为? 问题答案: 在MySQL中使用功能 请记住,如果使用的框架以毫秒为单位进行存储(例如Java的时间戳),则 必须除以1000 ,以秒为单位获取正确的Unix时间。

  • 我在红移中创建了一个表: 但是,我希望包含额外的3秒,例如:。 我需要如何修改我的时间戳字段,以便以秒为单位插入它的额外精度?