zoukankan      html  css  js  c++  java
  • SQL SERVER中如何格式化日期

    1. SELECT convert(varchar, getdate(), 100) -- mon dd yyyy hh:mmAM (or PM)
      
    -- Oct 2 2008 11:01AM 
    SELECT convert(varchar, getdate(), 101) -- mm/dd/yyyy - 10/02/2008 
    SELECT convert(varchar, getdate(), 102) -- yyyy.mm.dd -- 2008.10.02 
    SELECT convert(varchar, getdate(), 103) -- dd/mm/yyyy
    SELECT convert(varchar, getdate(), 104) -- dd.mm.yyyy
    SELECT convert(varchar, getdate(), 105) -- dd-mm-yyyy
    SELECT convert(varchar, getdate(), 106) -- dd mon yyyy
    SELECT convert(varchar, getdate(), 107) -- mon dd, yyyy
    SELECT convert(varchar, getdate(), 108) -- hh:mm:ss
    SELECT convert(varchar, getdate(), 109) -- mon dd yyyy hh:mm:ss:mmmAM (or PM)
    -- Oct 2 2008 11:02:44:013AM 
    SELECT convert(varchar, getdate(), 110) -- mm-dd-yyyy
    SELECT convert(varchar, getdate(), 111) -- yyyy/mm/dd
    SELECT convert(varchar, getdate(), 112) -- yyyymmdd
    SELECT convert(varchar, getdate(), 113) -- dd mon yyyy hh:mm:ss:mmm
    -- 02 Oct 2008 11:02:07:577 
    SELECT convert(varchar, getdate(), 114) -- hh:mm:ss:mmm(24h)
    SELECT convert(varchar, getdate(), 120) -- yyyy-mm-dd hh:mm:ss(24h)
    SELECT convert(varchar, getdate(), 121) -- yyyy-mm-dd hh:mm:ss.mmm
    SELECT convert(varchar, getdate(), 126) -- yyyy-mm-ddThh:mm:ss.mmm
    -- 2008-10-02T10:52:47.513
    -- 利用字符串函数创建不同的日期格式
    SELECT replace(convert(varchar, getdate(), 111), '/', ' ') -- yyyy mm dd
    SELECT convert(varchar(7), getdate(), 126) -- yyyy-mm
    SELECT right(convert(varchar, getdate(), 106), 8) -- mon yyyy
    go
    --通用的日期转换函数CREATE FUNCTION dbo.fnFormatDate (@Datetime DATETIME, @FormatMask VARCHAR(32))RETURNS VARCHAR(32)AS
    BEGIN
    DECLARE @StringDate VARCHAR(32)
    SET @StringDate = @FormatMask
    IF (CHARINDEX ('YYYY',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'YYYY',DATENAME(YY, @Datetime))
    IF (CHARINDEX ('YY',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'YY',RIGHT(DATENAME(YY, @Datetime),2))
    IF (CHARINDEX ('Month',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'Month',DATENAME(MM, @Datetime))
    IF (CHARINDEX ('MON',@StringDate COLLATE SQL_Latin1_General_CP1_CS_AS)>0)
    SET @StringDate = REPLACE(@StringDate, 'MON',LEFT(UPPER(DATENAME(MM, @Datetime)),3))
    IF (CHARINDEX ('Mon',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'Mon',LEFT(DATENAME(MM, @Datetime),3))
    IF (CHARINDEX ('MM',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'MM',RIGHT('0'+CONVERT(VARCHAR,DATEPART(MM, @Datetime)),2))
    IF (CHARINDEX ('M',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'M',CONVERT(VARCHAR,DATEPART(MM, @Datetime)))
    IF (CHARINDEX ('DD',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'DD',right('0'+DATENAME(DD, @Datetime),2))
    IF (CHARINDEX ('D',@StringDate) > 0)
    SET @StringDate = REPLACE(@StringDate, 'D',DATENAME(DD, @Datetime)) 
    RETURN @StringDate
     
     
     
     
    END
    GO
     
     
    2.通过dateadd函数来制定时间间隔
    select dateadd(year,-1,convert(varchar, getdate(), 101))前一年,后一年反之
    select dateadd(month,-1,convert(varchar, getdate(), 101))前一月,后一月反之
  • 相关阅读:
    iSCSI又称为IPSAN
    文档类型定义DTD
    HDU 2971 Tower
    HDU 1588 Gauss Fibonacci
    URAL 1005 Stone Pile
    URAL 1003 Parity
    URAL 1002 Phone Numbers
    URAL 1007 Code Words
    HDU 3306 Another kind of Fibonacci
    FZU 1683 纪念SlingShot
  • 原文地址:https://www.cnblogs.com/lsysunbow/p/5669052.html
Copyright © 2011-2022 走看看