我需要将字符串转换为日期格式以获取该月的第一天和最后一天。
输入。
声明 @InpDat 为 VARCHAR(20) 设置 @InpDat = 201308
预计产量 2013-08-31
我需要得到给定年月的第一天和最后一天。你能帮我弄到那个吗?
我尝试使用转换选项但无法获得它。?
我需要将字符串转换为日期格式以获取该月的第一天和最后一天。
输入。
声明 @InpDat 为 VARCHAR(20) 设置 @InpDat = 201308
预计产量 2013-08-31
我需要得到给定年月的第一天和最后一天。你能帮我弄到那个吗?
我尝试使用转换选项但无法获得它。?
DECLARE @InpDat AS VARCHAR(20)
SET @InpDat = '201308'
SELECT CONVERT(DATETIME(@InpDat+'01') AS FirstDate,
DATEADD(dd,-1,DATEADD(mm,1,CONVERT(DATETIME(@InpDat+'01'))) AS LastDate
为什么您期望随机数会转换为日期格式而无需任何哄骗?数据库是一个强大的工具,但并不神奇。
您必须将数字解析为日期,然后按照您喜欢的方式格式化日期。我可能会建议以下调用顺序:
-- assume you can separate the year and month into separate parts.
-- use 01 as default day for now, we'll get last day shortly.
DECLARE @IntermediateDate AS DATE SET @IntermediateDate = DATEFROMPARTS(2013,08,01)
-- Advance the month by one, and subtract one day to find the last day of the month.
SET @IntermediateDate = DATEADD( dd, -1, DATEADD( mm, 1, @IntermediateDate))
现在使用您最喜欢的格式化功能进行格式化。