SQL Server 2012中的日期和时间格式转换

Nqa*_*ela 2 sql sql-server datetime date sql-server-2012

我正在使用SQL Server 2012 sp1.我有一个表列,其中包含以下日期时间值.

BLDCHKDT
-----------------------
2013-06-19 00:00:00.000
2013-07-22 00:00:00.000
2013-08-21 00:00:00.000
2013-09-20 00:00:00.000
2013-11-18 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

我想以下列格式检索日期和时间:

Date: 19062013
Time: 00000000
Run Code Online (Sandbox Code Playgroud)

可能吗?我已经查看了有关FORMAT,CAST和CONVERT函数的SQL Server帮助文档,我似乎无法取得任何进展.到目前为止,我尝试了以下转换:

注意请注意我将日期时间转换为字符串以方便平面文件导出.

- 检索日期

SELECT [DATE-BLDCHKD] = CONVERT (VARCHAR (20), BLDCHKDT, 112)
FROM TABLEA

DATE-BLDCHKD
--------------------
20130619
20130722
20130821
20130920
20131118

--Retrieving Time
SELECT [TIME-BLDCHKD] = CONVERT (VARCHAR (20), BLDCHKDT, 24)
FROM TABLEA

TIME-BLDCHKD
--------------------
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
Run Code Online (Sandbox Code Playgroud)

我很感激你的见解.先感谢您.

Har*_* CO 7

由于您使用的是SQL Server 2012,因此您可以使用以下FORMAT()功能:

SELECT FORMAT(BLDCHKDT,'ddMMyyyy')
     , FORMAT(BLDCHKDT,'hhmmssfff')
Run Code Online (Sandbox Code Playgroud)