首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在SQL中格式化日期

在SQL中格式化日期
EN

Stack Overflow用户
提问于 2018-10-03 14:43:51
回答 2查看 64关注 0票数 1

我正在尝试编写一个查询,该查询显示带有"January 3, 2011"日期格式的最新书籍,但当尝试格式化日期时,我总是会遇到错误。

下面是未格式化日期的工作查询:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT title, pubdate 
FROM   books
WHERE  pubdate =
       ( SELECT MAX(pubdate)
         FROM   books );
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-03 17:07:22

如果pubdate被定义为DATE列,则可以将其格式化为to_char

代码语言:javascript
代码运行次数:0
运行
复制
to_char(pubdate, 'fmMonth dd, YYYY') as pubdate

这会将其转换为指定格式的字符串(但允许语言默认为用户的nls_date_language设置)。

Oracle中的日期不是以某种格式存储的字符串。它们包含二进制数据,在显示它们时,必须按照需要对它们进行格式化。(有时,人们将日期存储为字符串,这不仅是一个糟糕的想法,而且当人们要求对日期进行不同的格式化时,会造成混乱。)

票数 2
EN

Stack Overflow用户

发布于 2018-10-03 15:03:09

使用To_charDatetime转换为expect格式字符串。

这是一个样本。

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE books(pubdate Date, title varchar(50));

insert into books values ('18-Mar-06','A');

insert into books values ('11-Nov-06','B');

查询1

代码语言:javascript
代码运行次数:0
运行
复制
SELECT title,To_char(pubdate,'MON DD, YYYY')  pubdate
FROM books
WHERE pubdate =
    (SELECT MAX(pubdate)
     FROM books)

结果

代码语言:javascript
代码运行次数:0
运行
复制
| TITLE |      PUBDATE |
|-------|--------------|
|     B | NOV 11, 2006 |
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52629683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档