gpt4 book ai didi

mysql - hana SQL 表定义中从 int 到 date 数据类型的转换

转载 作者:行者123 更新时间:2023-11-30 00:17:35 25 4
gpt4 key购买 nike

我已将 csv 文件导入到 sap hana,date 列数据类型在 hana 表定义中维护为 int。我想将数据类型从 int 更改为 date 并希望将更改相应地应用到记录。

最佳答案

如果date 列具有int 形式的值,则它们必须采用unix_timestamp 形式。

如果要将列转换为 datedatetime 数据类型,您最好添加具有所需数据类型的新列。然后更新从旧 int 列中选择的列。最后,您可以删除 int 列,并开始使用 date 类型列。

-- add new datetime type column
ALTER TABLE table_name
ADD COLUMN date_col_new_name DATETIME;

-- add values into the same column
-- read from int type date column
UPDATE table_name
SET date_col_new_name = FROM_UNIXTIME( int_type_date_col );

-- now drop the int type date column
ALTER TABLE DROP COLUMN int_type_date_col;

示例:在 UNIX_TIMESTAMPFROM_UNIXTIME 上:

mysql> drop table if exists ut_xmple;
mysql> create table ut_xmple( date int );
mysql> insert into ut_xmple( date ) values ( unix_timestamp() );
mysql> select * from ut_xmple;
+------------+
| date |
+------------+
| 1399536302 |
+------------+

mysql> alter table ut_xmple add column date_time datetime;
mysql> select * from ut_xmple;
+------------+-----------+
| date | date_time |
+------------+-----------+
| 1399536302 | NULL |
+------------+-----------+

mysql> update ut_xmple set date_time=from_unixtime( date );
mysql> select * from ut_xmple;
+------------+---------------------+
| date | date_time |
+------------+---------------------+
| 1399536302 | 2014-05-08 13:35:02 |
+------------+---------------------+

mysql> select now(), @ut:=unix_timestamp() ut, from_unixtime( @ut ) fut;
+---------------------+------------+---------------------+
| now() | ut | fut |
+---------------------+------------+---------------------+
| 2014-05-08 13:35:54 | 1399536354 | 2014-05-08 13:35:54 |
+---------------------+------------+---------------------+

引用:

关于mysql - hana SQL 表定义中从 int 到 date 数据类型的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23535054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com