我有一个字段,它是一个包含日期和时间的字符串,我所做的是将字符串子字符串,因此我只能得到日期,输出看起来像这样:
2015-03-05 01:00
但我需要将其转换为类似于此的日期格式:
05-Mar-2015 01:00
如何在SQL Server中转换它?这是我目前的语法:
SELECT Convert(nvarchar(50),SUBSTRING(TT.FlightArrDate,1,10))+' '+Convert(nvarchar(5),SUBSTRING(TT.FlightArrDate,12,16))as actDateT from tabl1
我是否可以更改日期格式,同时保留连接日期的时间?
答案 0 :(得分:1)
您可以使用以下代码:
DECLARE @str VARCHAR(20) = '2015-03-05 01:00'
SELECT CONVERT(VARCHAR(20),CAST(@str AS DATETIME),13)
但没有角色" - "日期部分之间。是符号" - "你的结果有必要吗?
答案 1 :(得分:1)
将日期时间字符串更改为实际日期时间,然后从那里进行格式化可以为您提供所需的内容。
declare @d varchar(32)
set @d = '2015-03-05 01:00'
SELECT Convert(nvarchar(50),SUBSTRING(@d,1,10))+' '+Convert(nvarchar(5),SUBSTRING(@d,12,16)) as actDateT
select format(convert(datetime, @d, 120), 'dd-MMM-yyyy hh:mm')
答案 2 :(得分:1)
<强>查询强>
DECLARE @dt VARCHAR(20) = '2015-03-05 01:00'
SELECT REPLACE(CONVERT(VARCHAR(20),CAST(@dt AS DATETIME),106),' ','-')
+' '
+CONVERT(VARCHAR(20),CAST(@dt AS DATETIME),108) AS actDateT;