Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql server 2012中的日期格式转换为varchar dd mmm yy格式_Sql_Sql Server - Fatal编程技术网

sql server 2012中的日期格式转换为varchar dd mmm yy格式

sql server 2012中的日期格式转换为varchar dd mmm yy格式,sql,sql-server,Sql,Sql Server,今天的日期是日期格式的2016-08-23 我希望将VARCHAR格式转换为特定格式,如2016年8月1日至8月31日的转换为sql。 主要目的是我想要这个特定格式的月份的第一个和最后一个日期,使用with sql过程或函数 那我该怎么办呢?试试这个: SELECT CONVERT(VARCHAR(30), GETDATE(), 106) AS [DD MMM YYYY] 第三个参数可以根据需要的格式进行更改。 例如: 0或100(1,2)--默认值--周一-日-yyyy hh:MIM(或下

今天的日期是日期格式的2016-08-23 我希望将VARCHAR格式转换为特定格式,如2016年8月1日至8月31日的转换为sql。

主要目的是我想要这个特定格式的月份的第一个和最后一个日期,使用with sql过程或函数

那我该怎么办呢?

试试这个:

SELECT CONVERT(VARCHAR(30), GETDATE(), 106) AS [DD MMM YYYY]
第三个参数可以根据需要的格式进行更改。 例如:

0或100(1,2)--默认值--周一-日-yyyy hh:MIM(或下午)

101--美国--mm/dd/yyyy

102--ANSI--yy.mm.dd

103——英国/法国——年月日

104--德语--年月日

105--意大利语--年月日

106(1)日-月-日

107(1)年-月-日-星期一

108--hh:mi:ss

9或109(1,2)--默认+毫秒--周一-日-yyyy hh:mi:ss:mmmAM(或PM)

110--美国--年月日

111--日本--年/月/日

112--ISO--yymmdd或yyyymmdd

13或113(1,2)——欧洲默认+毫秒——dd-mon-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(24小时)

126(4)-ISO8601-yyyy-mm-ddThh:mi:ss.mmm(无空格)

127(6,7)--带时区Z的ISO8601。-yyyy-mm ddThh:mi:ss.mmmZ(无空格)

130(1,2)——Hijri(5)——dd-mon-yyyy-hh:mi:ss:mmmAM


131(2)--Hijri(5)--dd/mm/yy hh:mi:ss:mmmAM

尝试以下查询

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

考虑到有10亿个例子,你应该做的第一件事就是尝试搜索……我同意@MitchWheat。在网上发布问题搜索之前。试试这个:查看这个获取月份的第一个和最后一个日期
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