将朱利安日期格式化为常规日期后出错
Error after formatting julian date to regular dates
所以我有以下表达式转换儒略日期(格式为 yyyy### 的 AS400 日期与 #= 日历号天,即 2020010 = 2020 1 月 10 日,010 是第十个日历日):
iif([JulianDateTable1]='',format(CONVERT(date,DATEADD(DAY,RIGHT([JulianDateTable2],3)-1,CONVERT(datetime,LEFT([JulianDateTable2],4)))),'YYYYMMDD'), format(CONVERT(date,DATEADD(DAY,RIGHT([JulianDateTable3],3)-1,CONVERT(datetime,LEFT([JulianDateTable3],4)))),'YYYYMMDD')) AS agreementdate
当我 运行 这样做时,我收到以下错误:
Conversion failed when converting date and/or time from character
string
不确定这是否与我正在尝试 'YYYYMMDD' 的日期格式有关,但我也尝试过 'MMddyy' 并且遇到了同样的错误。
提前致谢!
您可以使用日期算法将此输入转换为正确的日期数据类型。如果儒略日期存储为字符串:
dateadd(
day,
convert(int, right(JulianDateTable2, 3)) - 1,
datefromparts(left(JulianDateTable2, 4), 1, 1)
)
如果是整数值:
dateadd(
day,
JulianDateTable2 % 1000 - 1,
datefromparts(JulianDateTable2 / 1000, 1, 1)
)
所以我有以下表达式转换儒略日期(格式为 yyyy### 的 AS400 日期与 #= 日历号天,即 2020010 = 2020 1 月 10 日,010 是第十个日历日):
iif([JulianDateTable1]='',format(CONVERT(date,DATEADD(DAY,RIGHT([JulianDateTable2],3)-1,CONVERT(datetime,LEFT([JulianDateTable2],4)))),'YYYYMMDD'), format(CONVERT(date,DATEADD(DAY,RIGHT([JulianDateTable3],3)-1,CONVERT(datetime,LEFT([JulianDateTable3],4)))),'YYYYMMDD')) AS agreementdate
当我 运行 这样做时,我收到以下错误:
Conversion failed when converting date and/or time from character string
不确定这是否与我正在尝试 'YYYYMMDD' 的日期格式有关,但我也尝试过 'MMddyy' 并且遇到了同样的错误。
提前致谢!
您可以使用日期算法将此输入转换为正确的日期数据类型。如果儒略日期存储为字符串:
dateadd(
day,
convert(int, right(JulianDateTable2, 3)) - 1,
datefromparts(left(JulianDateTable2, 4), 1, 1)
)
如果是整数值:
dateadd(
day,
JulianDateTable2 % 1000 - 1,
datefromparts(JulianDateTable2 / 1000, 1, 1)
)