none
sql 語法一問 RRS feed

  • 問題

  • 請問有沒有另一個函數代替now , 我只要dd/mm/yyyy 不要時間和分

    now() ---->  29/5/2006 15:02

    ??? ---->29/5/2006

    UPDATE Issue
    set ReturnDate = now + 14
    where StudentID = ? and BookId = ?

    2006年5月29日 上午 06:02

解答

  • 這當然不行,我剛剛以為你要在Visual Studio裡組SQL語法。

    你要的寫法:DATENAME([Day], GETDATE()) + '/' + RTRIM(CONVERT(char, DATEPART([month],  GETDATE()))) + '/' + DATENAME([year], GETDATE())

    ex:29/5/2006

    這個沒有函式可以套用,只能自己組了..

     

    2006年5月29日 上午 08:22
    版主

所有回覆

  • 擷取自MSDN

    將 Datetime 值轉換為字串

    SQL Server 的 CONVERT 函式可支援將二進位的 datetime 值轉換為格式化的字串。由於 NLSAPI 較為豐富,因此大部分開發人員都比較喜歡在用戶端應用程式執行這項作業。但是,在某些情況下讓 SQL Server 執行這項轉換也會很有用處。

    Transact-SQL CONVERT 函式支援一個樣式參數。如果沒有使用這個參數,便會套用預設的樣式。這些樣式不可擴充而且 Transact-SQL 目前並不支援用於日期和時間格式化的格式規範語法。我們必須瞭解,傳回以預設樣式格式化的字串未必能適合特定的語言或地區。

    下表所列是 SQL Server 6.5 中可用的每一種日期和時間樣式。預設值 (樣式 0 或 100、9 或 109、13 或 113) 永遠會傳回世紀 (yyyy)。

    不附世紀的數字格式 (yy) 附世紀的數字格式 (yyyy) 說明 輸出
      0 或 100 預設 mon dd yyyy hh:miAM (或 PM)
    1 101 美國 mm/dd/yy
    2 102 ANSI yy.mm.dd
    3 103 英國/法國 dd/mm/yy
    4 104 German dd.mm.yy
    5 105 義大利 dd-mm-yy
    6 106   dd mon yy
    7 107   mon dd, yy
    8 108   hh:mm:ss
      9 或 109 預設毫秒 mon dd yyyy hh:mi:ss:mmmAM (或 PM)
    10 110 美國 mm-dd-yy
    11 111 日本 yy/mm/dd
    12 112 ISO yymmdd
      13 或 113 歐洲預設毫秒 dd mon yyyy hh:mm:ss:mmm(24 小時)
    14 114 - hh:mi:ss:mmm(24 小時)
    2006年5月29日 上午 06:37
    版主
  • 我表達不清楚...

    now() ---->  29/5/2006 15:02

    我想問有沒有一個函數只有年月日,不要時間和分

    ??? ---->29/5/2006

    2006年5月29日 上午 07:05
  • 原來您要的是這個Now.ToShortDateString()
    2006年5月29日 上午 07:11
    版主
  •  LOLOTA 寫信:
    原來您要的是這個Now.ToShortDateString()

    Now.ToShortDateString()

    可以在SQL 語法上使用嗎??

    2006年5月29日 上午 07:13
  • 這當然不行,我剛剛以為你要在Visual Studio裡組SQL語法。

    你要的寫法:DATENAME([Day], GETDATE()) + '/' + RTRIM(CONVERT(char, DATEPART([month],  GETDATE()))) + '/' + DATENAME([year], GETDATE())

    ex:29/5/2006

    這個沒有函式可以套用,只能自己組了..

     

    2006年5月29日 上午 08:22
    版主
  • 原來如此...

    謝謝你....

    2006年5月29日 上午 08:26