sql - 财务期间的日期时间转换

标签 sql sql-server

我们在系统中有一个财务周期为“201801”,我如何将其转换为 (01/04/2018),其中 (2018) 是年份,(01) 是财务周期,但四月不是一月

 so example
 201801 - 01/04/2018
 201802 - 01/05/2018
 201803 - 01/06/2018
 201803 - 01/07/2018
 201803 - 01/08/2018
 201803 - 01/09/2018
 201803 - 01/10/2018
 201803 - 01/11/2018
 201803 - 01/12/2018
 201803 - 01/01/2019
 201803 - 01/02/2019
 201803 - 01/03/2019

我正在使用 MSSQL 和 SSMS

最佳答案

你可以试试下面的代码:

DECLARE @a INT
SET @a = '201802'
SELECT DATEADD(MONTH, 3, CONVERT(DATETIME,CONCAT(@a,'01')))

201802 获得的输出:

2018-05-01 00:00:00.000

PS:这只适用于跨度相差3个月的情况。 (1-4月)

关于sql - 财务期间的日期时间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54561651/

相关文章:

mysql - 从具有多个条件的数据库中获取数据

sql - |DataDirectory| 在哪里定义?

mysql - 一个查询中的两个 select 语句

sql-server - 异构查询需要 ANSI_NULLS

c# - SQLFileStream 异常 "The network path was not found"

sql-server - 根据不同数据类型的另一列设置列的默认值

sql - 尝试从具有三个表连接的一列连接逗号分隔列表并获取重复项

sql - 如何在H2数据库中将BLOB查询为CLOB

sql - 从 n 个表中选择 *

sql-server - 搭配哪个 Express 版本 : SQL Server 2005 or 2008 R2?