sql - 是否可以以 TO_CHAR(datetime) 格式插入文字字符?

标签 sql oracle plsql

这个问题在这里已经有了答案:





What is the best way to escape non-format characters in Oracle's to_char?

(1 个回答)


7年前关闭。




我想以以下格式选择一些日期:

yyyydDOY

哪里yyyy是 4 位数的年份,DOY是一年中的第几天 (1-366),而 d是文字“d”。这是我尝试过的:
SQL> select to_char(sysdate, 'YYYYdDDD') from dual;

TO_CHAR(
--------
20130713

显然这都是错误的。我想要的结果可以在命令行中找到:
$ date +'%Yd%j'
2013d071

最佳答案

首先,问题中的代码读作 DDDD ,函数解释为 DDD (年份:071)后跟 D (星期几:3)。

解决方案是用双引号 ( " ) 引用任何文字:

SQL> select to_char(sysdate, 'YYYY"d"DDD') from dual;

TO_CHAR(
--------
2013d071

Table 3-15 Datetime Format Elements想要查询更多的信息。

关于sql - 是否可以以 TO_CHAR(datetime) 格式插入文字字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373153/

相关文章:

sql - 分层查询 - 计算属于父位置和子位置的记录

database - 对某些值进行特殊处理的 PL/SQL 过程 : UPDATE uppercase names to initcaps,

oracle - 在 Oracle pl/sql 函数中定义类型

php - 如何在不删除数据库本身的情况下删除数据库中的所有表?

php - mysql查询与2个表的一些计算

java - 将 JDBCConnection 转换为 OracleConnection 时出错

Oracle 数据库 : possible to send email from PL/SQL through proxy server?

oracle - 如何捕获 PL/SQL 代码中第一次提交在 Oracle 中发生的事件?

php - 学校网站的 MySQL 表

sql - 当我尝试连接两个表中的数据时,行丢失