2016-08-23 96 views
-2

今天的日期是以日期格式 2016年8月23日,我想隱蔽到像八月1日至8月31日一個特定的格式, 2016以VARCHAR格式轉換爲sql。
日期格式轉換爲VARCHAR DD-MMM-YY格式在SQL Server 2012

主要目的是我和SQL過程或函數使用需要一個月的第一個和最後日期在這個特定的格式。

那麼我該怎麼做?

+1

是十億的例子擺在那裏,你應該做的第一件事就是嘗試搜索。 ... –

+0

我同意@MitchWheat。在網上發帖提問之前。試試這個:https://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/ –

+0

看到這個獲得月的第一個和最後一個日期http: //blog.sqlauthority.com/2007/05/13/sql-server-query-to-find-first-and-last-day-of-current-month/ –

回答

0

與下面的查詢嘗試..

DECLARE @testdate DATETIME 
SELECT @testdate = '2016-08-23' 

SELECT LEFT (CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@testdate)-1),@testdate),113),6) 
+' to '+LEFT(CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@testdate))), 
DATEADD(mm,1,@testdate)),113),11) AS Date_Value 
0

試試這個:

SELECT CONVERT(VARCHAR(30), GETDATE(), 106) AS [DD MMM YYYY] 

第三個參數是可以改變的,由於你所需要的格式。 用於離:

0或100(1,2) - 缺省 - 週一DD YYYY HH:MIAM(或PM)

101 - 美國 - 毫米/日/年

102 - ANSI - YY.MM.DD

103 - 英國/法語 - 日/月/年

104 - 德文 - DD.MM.YY

105 - 意大利語 - dd-mm-yy

106(1) - - - DD週一YY

107(1) - - - 星期一DD,YY

108 - - HH:MI:SS

9或109(1,2) - 默認+毫秒 - 週一DD YYYY HH:MI:SS:mmmAM(或PM)

110 - 美國 - MM-DD-YY

111 - 日本 - yy/mm/dd

112 - ISO - YYMMDD或YYYYMMDD

13或113(1,2) - 歐洲默認+毫秒 - DD週一YYYY HH:MI:SS:MMM(24小時)

114 - - - HH:MI:SS:MMM(24小時)

20或120(2) - ODBC規範 - YYYY-MM-DD HH:MI:SS(24小時)

21或121( 2) - ODBC規範(毫秒) - yyyy-mm-dd hh:mi:ss.mmm(24h)

126(4) - ISO8601 - yyyy-mm-ddThh:mi:ss。嗯(沒有空格)

127(6,7) - ISO8601帶時區Z. - yyyy-mm-ddThh:mi:ss。mmmZ(沒有空格)

130(1,2) - 回曆(5) - DD週一YYYY HH:MI:SS:mmmAM

131(2) - 回曆(5) - DD/MM/YY HH:MI:SS:mmmAM

0
DECLARE @MyDate DATETIME 

SET @MyDate = '2016-08-23' 

SELECT (CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@MyDate)-1),@MyDate),106)) 
--To Get The 1st Day OF Month 

Select Eomonth(@MyDate) -- TO Get The Last Date OF Month 
給出有