首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SQL Server中获取日期格式(dd-MMM-yy HH:mm:ss)?

如何在SQL Server中获取日期格式(dd-MMM-yy HH:mm:ss)?
EN

Stack Overflow用户
提问于 2015-02-10 20:58:14
回答 6查看 19.1K关注 0票数 2

我想在SQL Server中将getdate()转换为这种格式(10-Feb-15 18:25:57)。

代码语言:javascript
复制
select getdate()

让我明白了

代码语言:javascript
复制
2015-02-10 18:25:37.567

但是我想要10-Feb-15 18:25:37格式的日期。

如何将此日期格式转换为我所需的格式?

我是SQL Server的新手。

谢谢……

EN

回答 6

Stack Overflow用户

发布于 2015-02-10 21:02:07

不完全是这样,但最接近的是:

代码语言:javascript
复制
select convert(varchar, getdate(), 113)

10 Feb 2015 15:00:30:513

要在不使用毫秒的情况下获取,可以缩短字符串:

代码语言:javascript
复制
select convert(varchar(20), getdate(), 113)

你可以在这里找到这些格式:https://msdn.microsoft.com/en-us/library/ms187928%28v=sql.100%29.aspx

如果您确实需要这种格式,我认为您必须使用datepart / datename。

票数 4
EN

Stack Overflow用户

发布于 2015-02-10 21:41:38

这将为您提供确切的格式:

代码语言:javascript
复制
SELECT 
  STUFF(STUFF(CONVERT(char(20), getdate(), 113),3,1, '-'),7,1,'-')
票数 4
EN

Stack Overflow用户

发布于 2015-02-10 21:36:24

日期类型没有任何格式,它们是二进制类型。只有当您要将日期值转换为字符串时,格式才适用。

在SQL Server 2012+中,您可以使用FORMAT函数将日期格式化为.NET支持的任何标准格式字符串或自定义格式字符串,例如:

代码语言:javascript
复制
DECLARE @d DATETIME = GETDATE();
SELECT FORMAT( @d, 'dd-MMM-yy HH:mm:ss', 'en-US' ) 
------------------
10-Feb-15 15:35:55

在早期版本的SQL Server中,您只能使用一些预定义的格式(使用CONVERT ),或者通过连接日期部分值来构造最终的字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28432292

复制
相关文章

相似问题

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