如何将年增到SQL Server中的波斯日期?

问题描述 投票:0回答:3

我在SQL表persiandate专栏中,我想persiandate.persiandate的更新一年字符串这样'1396/12/07'如何更新persiandate从'1396/12/07'对2年默认'1398/12/07'基地

sql sql-server
3个回答
0
投票

尝试这个:

DECLARE @DataSource TABLE
(
    [PersianDate] VARCHAR(12)
);

INSERT INTO @DataSource ([PersianDate])
VALUES ('1396/12/07');

UPDATE @DataSource
SET [PersianDate] = CAST(LEFT([PersianDate], 4) + 2 AS VARCHAR(4)) + RIGHT([PersianDate], 6);

SELECT [PersianDate]
FROM @DataSource;

对于SQL Server 2012+,你可以使用:

CONCAT(LEFT([PersianDate], 4) + 2, RIGHT([PersianDate], 6))

0
投票

在这种代码可能帮助你

    select cast (floor  (( cast (substring  ('1396/12/07' ,6,2)as int ) 
+isnull(monthCount,0))/12 ) + cast (left ('1396/12/07' ,4)as int ) as varchar(4) )
      +'/'+   
RIGHT('00' + cast (substring  ('1396/12/07' ,6,2)as int ) ,2)
      +'/'+
      RIGHT('00' + CONVERT(VARCHAR,substring  ('1396/12/07' ,9,2) ), 2)  

0
投票

你可以试试下面的查询。

SELECT CONVERT(VARCHAR(10),DATEADD(YEAR,2,CONVERT(DATE, '1396/12/07', 120)),111)

更新查询。

UPDATE TABLE1 SET persiandate_Col=CONVERT(VARCHAR(10),DATEADD(YEAR,2,CONVERT(DATE, persiandate_Col, 120)),111) 
© www.soinside.com 2019 - 2024. All rights reserved.