在 Oracle 中使用 LPAD 函数拼接日期时间的写法

在 Oracle 数据库中,我们可以使用SQL脚本从一张表中提取交易日期和交易时间,并创建一个新的列,其中包含将日期和时间合并为单一字符串的格式,如下图。

图片[1]-在 Oracle 中使用 LPAD 函数拼接日期时间的写法-十一张

SQL​ 语句

下面这是一段 Oracle 数据库 SQL​ 查询语句,用来把“交易日期 + 交易时间”拼成一个完整的“日期时间”。

select trans_date "交易日期",
       trans_time "交易时间",
       trans_date || lpad(trans_time, 6, '0') "日期时间"
  from test_11zhang;

trans_date || lpad(trans_time, 6, '0') "日期时间" 这是核心部分,使用了字符串连接操作符||来合并trans_date和经过处理的trans_time。

LPAD 函数用于在 trans_time 的左侧填充零,直到其总长度达到6个字符。例如,如果 trans_time是'1530',则lpad(trans_time, 6, '0')的结果将是'001530'。然后将处理后的时间与日期连接起来,形成形如 yyyyMMddHHmmss 的格式。

整体含义总结:从 test_11zhang 表中查询交易日期和交易时间,并把它们拼接成一个“yyyyMMddHHmmss”格式的字符串,作为“日期时间”字段返回。

拼接结果

假设:

trans_date = '20240115'
trans_time = '93045'

执行SQL:

'20240115' || '093045'

得到:

20240115093045

如果需要将日期和时间都转换为标准格式,我们可以这样写:

select trans_date "交易日期",
       trans_time "交易时间",
       trans_date || lpad(trans_time, 6, '0') "日期时间",
       TO_DATE(trans_date || LPAD(trans_time, 6, '0'), 'YYYYMMDDHH24MISS') "日期时间"
  from test_11zhang;
图片[2]-在 Oracle 中使用 LPAD 函数拼接日期时间的写法-十一张
© 版权声明
THE END
如果觉得这篇文章对您有帮助,可以收藏本网址,方便下次访问!
点赞17 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容