如何在SQL Server中获取日期格式(dd-MMM-yy HH:mm:ss)?
问题描述:
我想将getdate()
转换为SQL Server中的这种格式(10-Feb-15 18:25:57
)。如何在SQL Server中获取日期格式(dd-MMM-yy HH:mm:ss)?
select getdate()
让我
2015-02-10 18:25:37.567
,但我想在10-Feb-15 18:25:37
格式的日期。
如何将此日期格式转换为我需要的格式?
我是SQL Server的新手。
感谢....
答
这不完全是,但最接近的是:
select convert(varchar, getdate(), 113)
10 Feb 2015 15:00:30:513
为了获得无毫秒可以缩短字符串:
select convert(varchar(20), getdate(), 113)
你可以找到这里的格式:https://msdn.microsoft.com/en-us/library/ms187928%28v=sql.100%29.aspx
如果你真的需要那个exac t格式,我想你必须使用datepart/datename。
答
你的情况有一个适合你的需要没有固定的日期时间格式。您将不得不分别格式化日期和时间,并用短划线替换空格。
下面将在你请求的格式生成日期时间:
select replace(convert(varchar(9), getdate(), 6), ' ', '-')
+ ' ' + convert(varchar(8), getdate(), 8)
结果:
10-Feb-15 14:08:54
格式化日期时间
答
SELECT REPLACE(CONVERT(varchar(11),SYSDATETIME(),13),' ','-')+' '+ CONVERT(VARCHAR(8), SYSDATETIME(), 8)
答
这将让你的确切格式:的
SELECT
STUFF(STUFF(CONVERT(char(20), getdate(), 113),3,1, '-'),7,1,'-')
可能重复[在日期省略毫秒(HTTP://计算器。com/questions/2246655 /省略毫秒) – 2015-02-10 13:01:16
将数据保存在整个数据库的'DateTime'变量(不包含*格式)并且只将其转换为数据一个字符串(并应用格式化)向用户呈现数据时 - 通常,有一个更适合的层(报告工具或其他语言),这些格式化问题很容易处理,而不是尝试在T-SQL中执行数据库。 – 2015-02-10 13:13:28