转换日期并查找日期

时间:2014-12-22 00:09:55

标签: sql sql-server sql-server-2008

我在语法方面遇到了一些麻烦。

首先,我想从这种格式转换日期:

  

2014-12-18 21:49:54.047

采用以下格式:

  

20141218

我可以使用这个select语句做到这一点:

SELECT F253 = CONVERT (VARCHAR (20), F253, 112) 
FROM SAL_HDR

我的问题在于语法。如何将select语句放在带有一堆其他行的select语句中?我似乎无法使其正常工作。我已经评论了这条线。如何将该行写入较大的select语句?

    SELECT 
    SAL_HDR.F253 AS [Transaction Date], 
    /*F253 = CONVERT (VARCHAR (20), F253, 112)*/
    SAL_HDR.F1036 AS [Transaction Time], 
    SAL_HDR.F1032 AS [Transaction #],
    FROM SAL_HDR

1 个答案:

答案 0 :(得分:1)

只需将其添加为表达式:

SELECT CONVERT(VARCHAR(20), SAL_HDR.F253, 112)  AS [Transaction Date], 
       SAL_HDR.F1036 AS [Transaction Time], 
       SAL_HDR.F1032 AS [Transaction #]
FROM SAL_HDR;

或者,您可以使用以下语法:

SELECT [Transaction Date] = CONVERT(VARCHAR(20), SAL_HDR.F253, 112), 
       [Transaction Time] = SAL_HDR.F1036, 
       [Transaction #] = SAL_HDR.F1032
FROM SAL_HDR;

我个人更喜欢第一个版本,因为我发现第二个版本太接近变量赋值。