-1
Select ReceiveDate,SentDate
From Customers

ReceiveDate                    SentDate
2012-11-29 19:17:00         2007-08-28 10:48:00

我想改变这样的格式是:月日,年(例如:2012 年 11 月 29 日)

我能怎么做?

谢谢

4

4 回答 4

0

您没有指定什么 RDBMS,但如果您使用的是 SQL Server,则可以使用:

select 
  convert(varchar(6), receivedate, 100)+', '+cast(year(receivedate) as char(4)) ReceiveDate,
  convert(varchar(6), sentdate, 100)+', '+cast(year(sentdate) as char(4)) SentDate
from customers

请参阅带有演示的 SQL Fiddle

结果:

|  RECEIVEDATE |     SENTDATE |
-------------------------------
| Nov 29, 2012 | Aug 28, 2007 |

如果您使用的是 MySQL,那么您可以使用以下Date_Format()功能:

select 
  date_format(receivedate, '%b %e, %Y') ReceiveDate,
  date_format(sentdate, '%b %e, %Y') SentDate
from customers

请参阅带有演示的 SQL Fiddle

于 2012-12-10T16:19:00.490 回答
0

我不认为有一个特定的 mysql 函数可以做到这一点。

但是,如果您想在网站上显示格式为(1998 年 1 月 24 日)的日期,则可以使用 php.ini。

您进行了三个查询,一个代表当天,一个代表月份,一个代表年份。

然后,您为该月制作 switch case 以将其与其名称相关联(例如 03 -> Mar)。

于 2012-12-10T16:21:04.613 回答
0

SQL Server你可以使用CONVERTand ;STUFF

SELECT STUFF(CONVERT(VARCHAR(11), GETDATE(),100),7,1,', ')
--Results: Dec 10, 2012
于 2012-12-10T16:21:29.717 回答
0

假设 SQL 服务器您想要DATEPARTDATENAME的某种组合,如下所示:

SELECT 
   DATENAME(month, '2012-11-29 19:17:00') + ' ' + 
   CAST(DATEPART(dd, '2012-11-29 19:17:00') AS VARCHAR)+ ', ' + 
   CAST(DATEPART(yyyy, '2012-11-29 19:17:00') AS VARCHAR);
于 2012-12-10T16:21:40.840 回答