DB2 秒到时间转换问题

     2023-02-25     289

关键词:

【中文标题】DB2 秒到时间转换问题【英文标题】:DB2 seconds to time conversion issue 【发布时间】:2019-06-14 05:28:11 【问题描述】:

问题:某行有脏数据,无法转换为日期,所以查询失败

在 db2 中,日期以秒为单位存储

在将数据传输到 sql server 时,我们将转换为日期时间

查询转换为日期时间

select TIMESTAMP('1970-01-01', '00:00:00') +(Startdate/1000) SECONDS from tablename

某行有脏数据,无法转换为日期

需要查询才能找到错误数据

所需查询:

select TIMESTAMP('1970-01-01', '00:00:00') +(Startdate/1000) SECONDS from tablename where iserror (TIMESTAMP('1970-01-01', '00:00:00') +(Startdate/1000) SECONDS) = 1

【问题讨论】:

有什么问题? 某行有脏数据无法转换为日期,所以查询失败 @vignesh 请不要让我们猜测。如果您的查询失败 - 您得到的确切错误代码和消息是什么? “脏数据”是什么意思? Startdate 列的数据类型是什么?是[var]char,是否包含一些不可转换为int 的数据? 对不起。返回错误消息:日期时间算术运算或日期时间标量函数的结果不在有效日期范围内 【参考方案1】:

您可以创建一个标量函数来抑制此类错误:

--#SET TERMINATOR @

create or replace function ms2ts(p_milliseconds bigint)
returns timestamp
contains sql
deterministic 
no external action
begin
  declare continue handler for sqlexception begin end;
  return TIMESTAMP('1970-01-01', '00:00:00') +(p_milliseconds/1000) SECONDS;
end@

-- Usage:
select *
from 
(
  select ms2ts(startdate) ts, Startdate
  from table(values 
    power(bigint(2), 45)
  , power(bigint(2), 60)
  ) tablename (Startdate)
)
-- where ts is null
@

TS                                 STARTDATE             
--------------------- ----------------------
3084-12-12 12:41:28.0         35184372088832        
<null>                   1152921504606846976   

【讨论】:

将浮点列添加到时间戳类型列(秒+毫秒)

】将浮点列添加到时间戳类型列(秒+毫秒)【英文标题】:AddingfloatcolumntoTimestampTypecolumn(seconds+miliseconds)【发布时间】:2021-07-0717:41:47【问题描述】:我正在尝试将浮点列添加到pyspark中的TimestampType列,但似乎没有办法在保持小... 查看详情

为啥将一天添加到时间会改变秒的小数部分?

】为啥将一天添加到时间会改变秒的小数部分?【英文标题】:Whydoesaddingadaytoatimechangethefractionalpartofseconds?为什么将一天添加到时间会改变秒的小数部分?【发布时间】:2012-01-2000:14:34【问题描述】:pry(main)>time=Time.now=>2012-... 查看详情

javascript秒到时间

ConvertnumberofsecondstoHH:MMfunctionsecsTime(inSecs){vartimeStr=newString();varseconds=parseInt(inSecs);if(seconds<0){timeStr="-";seconds*=-1;&# 查看详情

如果时间戳不存在,有没有办法将秒添加到时间戳中?

】如果时间戳不存在,有没有办法将秒添加到时间戳中?【英文标题】:Isthereawaytoaddthesecondstoatimestampifitisnotpresent?【发布时间】:2019-07-0719:54:16【问题描述】:我有一个贯穿地图的数据文件。其中一个字段读取日期/时间戳。该... 查看详情

Spark Streaming 2.3.1 类型转换:字符串到时间戳

】SparkStreaming2.3.1类型转换:字符串到时间戳【英文标题】:SparkStreaming2.3.1TypeCasting:StringtoTimestamp【发布时间】:2018-09-0403:47:28【问题描述】:我正在使用apschespark流式传输2.3.1,我正在接收一个流,其中包含格式为“HH:mm:ss.xxxxxxx... 查看详情

nhibernatepostgresqldatetime到时间转换

我正在使用FluentNHibernate配置我的映射在读取数据时一切正常但在尝试插入或更新具有Postgresql类型Time的记录时我收到错误消息"ERROR:42804:column"run_time"isoftypetimewithtimezonebutexpressionisoftypetimestampwithouttimezone"看起来NHibernate可能会混淆... 查看详情

Hive 未检测到时间戳格式

】Hive未检测到时间戳格式【英文标题】:Hivenotdetectingtimestampformat【发布时间】:2015-06-2513:17:40【问题描述】:我有一个PIG脚本从csv加载和转换数据替换一些字符调用java程序(JAR)将csv中的日期时间从06/02/201518:52转换为2015-6-218:52(... 查看详情

js获取到时间转换成字符串类型

JS获取到时间格式为:/Date(1479279579047)/提供一个函数可将其转换为“yyyy-MM-dd”和“yyyy-MM-ddhh:mm:ss” 1//时间日期转换成string2functiondata_string(str,value){3if(value=="yyyy-MM-ddhh:mm:ss"){4vard=eval(‘new‘+str.substr(1,str.le 查看详情

从 Oracle DB 读取时,日期(数据类型)到时间戳(数据类型)的转换不正确

】从OracleDB读取时,日期(数据类型)到时间戳(数据类型)的转换不正确【英文标题】:IncorrectconversionofDate(datatype)toTimeStamp(datatype)whilereadingfromOracleDB【发布时间】:2017-03-0606:42:37【问题描述】:我们正在尝试从Oracle表中读取... 查看详情

熊猫数据框日期时间到时间然后到秒

】熊猫数据框日期时间到时间然后到秒【英文标题】:Pandasdataframedatetimetotimethentoseconds【发布时间】:2018-06-1604:33:08【问题描述】:我有一个数据框。一列包含时间戳。我想删除日期并将时间转换为秒。首先我将它们转换为日期... 查看详情

Python Pandas:每周列(int)到时间戳列转换(以周为单位)

】PythonPandas:每周列(int)到时间戳列转换(以周为单位)【英文标题】:PythonPandas:weeklycolumns(int)toTimestampcolumnsconversion(inweeks)【发布时间】:2018-06-2322:25:33【问题描述】:我有一个每周列如下的df。我想将我的列索引更改为时... 查看详情

Oracle 字符串到日期到时间戳

】Oracle字符串到日期到时间戳【英文标题】:OracleStringtoDatetoTimestamp【发布时间】:2021-09-3012:48:03【问题描述】:我有一个日期保存为1900-01-01T00:00:00.000Z字符串格式。我正在尝试转换它,但是1900变成了2000。如何转换成时间戳而... 查看详情

Hive/SparkSQL - 在表达式中键入从日期到时间戳的强制转换

】Hive/SparkSQL-在表达式中键入从日期到时间戳的强制转换【英文标题】:Hive/SparkSQL-TypeCoercionfromdatetotimestampinanexpression【发布时间】:2016-11-0116:09:38【问题描述】:当我在SparkSQL中运行Hive查询时,LHS(timestamp)&lt;=RHS(date)对于相同... 查看详情

varchar2 到时间戳

】varchar2到时间戳【英文标题】:varchar2totimestamp【发布时间】:2012-05-1405:54:11【问题描述】:我有以下数据SELECTT.FEED_TIMEfromGLRS.FEED_TYPET05:00:00AM06:00:00AMWHEREFEED_TIME是VARCHAR2(20)现在我必须添加1天来计算下一次运行时间并将其转换为... 查看详情

AWS Glue ETL Spark- 字符串到时间戳

】AWSGlueETLSpark-字符串到时间戳【英文标题】:AWSGlueETLSpark-stringtotimestamp【发布时间】:2021-05-1602:37:02【问题描述】:我正在尝试通过AWSGlueETL作业将我的CSV转换为Parquet。同时,我愿意将我的datetime列(字符串)转换为Athena可以识... 查看详情

如何在 DB2 中将 varchar 转换为时间戳

】如何在DB2中将varchar转换为时间戳【英文标题】:HowtoconvertvarchartotimestampinDB2【发布时间】:2015-10-3006:35:08【问题描述】:我正在尝试将数据类型为varchar的列转换为DB2中的时间戳。例如:列的值\'1.12.199900:00:00\'是一个varchar我的... 查看详情

Linux 任务计划到时、分、秒

】Linux任务计划到时、分、秒【英文标题】:LinuxtaskscheduletoHour,minute,second【发布时间】:2014-02-2022:21:04【问题描述】:我正在尝试在特定时间运行一个shell脚本,直到它的秒数(H:M:S),但到目前为止,所有程序,如at只能达到特定... 查看详情

如何将秒转换为时间格式? [复制]

】如何将秒转换为时间格式?[复制]【英文标题】:Howtoconvertsecondstotimeformat?[duplicate]【发布时间】:2011-04-2020:31:42【问题描述】:出于某种原因,我将时间格式转换为:03:30toseconds3*3600+30*60,now。我想将它转换回它的第一个(相同... 查看详情