其實我在SQL表中有不同的日期,當我通過SQL查詢拉那些日期時,日期時間字段應該有固定的一天。在拉數據的同時在數據時間的特定日期硬編碼 - SQL
實施例:(DD-MM-YYYY)天應爲 「7」>(7-MM-YYYY)
- -08-2007> -08-2007
- -12-2013> -12-2013
- -03-2017> -03-2017
有人可以幫助我解決這個問題。提前致謝。
其實我在SQL表中有不同的日期,當我通過SQL查詢拉那些日期時,日期時間字段應該有固定的一天。在拉數據的同時在數據時間的特定日期硬編碼 - SQL
實施例:(DD-MM-YYYY)天應爲 「7」>(7-MM-YYYY)
有人可以幫助我解決這個問題。提前致謝。
找到7和原始日期之間的差異,並將其添加到原始日期:
SELECT DATEADD(DAY, 7 - DAY(OriginalDate), OriginalDate)
使用DATEPART
取出月份和年份部分。將這些轉換爲varchar並與07
連接。
查詢
select '07-' +
cast(DATEPART(mm, [date_column]) as varchar(2)) + '-' +
cast(DATEPART(yyyy, [date_column]) as varchar(4))
from your_table_name;
假設您可能需要更改日數例子
DECLARE @dayNum char(2)
SELECT @dayNum = '07'
select @dayNum + Right(convert(char(10),getdate(),105),8)
如果這不是你能做到這一點
的情況下select '07'+ Right(convert(char(10),'10-08-2007',105),8)
我會走這條路:
SELECT CONVERT(DATE,CONVERT(VARCHAR(6),GETDATE(),112)+'25',112);
CONVERT
與格式112
將返回日期未分離的ISO(今天我們會得到20170407
)。將此轉換爲VARCHAR(6)
將隱含地刪除當天的部分(201704
)。
現在我們添加了一天,並與112
再次CONVERT
使用,但現在DATE
爲目標類型。
有一點要記住:您添加的日期必須是兩位數。您可以通過
DECLARE @int INT=7;
SELECT REPLACE(STR(@int,2),' ','0');
請分享您迄今所做的努力。 –