在 SQL 中将 DATETIME 转换为 varchar
Convert DATETIME to varchar in SQL
我想将 DATETIME
转换为 VARCHAR
并使用 Friday 07-Feb-20 8:30 AM
这种类型的输出。我试着这样做。但是它没有给出我想要的正确格式。
DECLARE @STARTDATE DATETIME,@SDATE VARCHAR(250)
SELECT @STARTDATE = SESSION_START FROM SESSION_INFO WHERE SESSION_ID = 2071 //@STARTDATE = 2013-01-28 14:00:00.000
SET @SDATE = CONVERT(VARCHAR,@STARTDATE,100)
PRINT @GOOGLE //Jan 28 2013 2:00PM
我想要day-mon-year hh:min AM/PM (Friday 07-Feb-20 8:30 AM)
这种格式。谢谢。
你想要format
,例如
select format(current_timestamp, 'dddd dd-MMM-yy hh:mm tt');
注意:format
的性能不如 convert
或 cast
,但它具有您需要的额外灵活性。
您可以按如下方式使用format
:
FORMAT (SESSION_START, 'dddd dd-MMM-yy hh:mm tt')
DB<>Fiddle 示例输出
我想将 DATETIME
转换为 VARCHAR
并使用 Friday 07-Feb-20 8:30 AM
这种类型的输出。我试着这样做。但是它没有给出我想要的正确格式。
DECLARE @STARTDATE DATETIME,@SDATE VARCHAR(250)
SELECT @STARTDATE = SESSION_START FROM SESSION_INFO WHERE SESSION_ID = 2071 //@STARTDATE = 2013-01-28 14:00:00.000
SET @SDATE = CONVERT(VARCHAR,@STARTDATE,100)
PRINT @GOOGLE //Jan 28 2013 2:00PM
我想要day-mon-year hh:min AM/PM (Friday 07-Feb-20 8:30 AM)
这种格式。谢谢。
你想要format
,例如
select format(current_timestamp, 'dddd dd-MMM-yy hh:mm tt');
注意:format
的性能不如 convert
或 cast
,但它具有您需要的额外灵活性。
您可以按如下方式使用format
:
FORMAT (SESSION_START, 'dddd dd-MMM-yy hh:mm tt')
DB<>Fiddle 示例输出