在 Oracle 数据库中,我们可以使用SQL脚本从一张表中提取交易日期和交易时间,并创建一个新的列,其中包含将日期和时间合并为单一字符串的格式,如下图。
![图片[1]-在 Oracle 中使用 LPAD 函数拼接日期时间的写法-十一张](https://www.11zhang.com/wp-content/uploads/2026/07/321532365620260728222429.webp)
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 函数拼接日期时间的写法-十一张](https://www.11zhang.com/wp-content/uploads/2026/07/321532365620260728225702.webp)
THE END











暂无评论内容