我想将PERIOD
这种形式的字符串“” yyyymmdd
(例如:20120701)转换为 SQLServer 中的日期。所以我使用了这样的转换函数:
CONVERT(DATETIME,PERIOD,102);
和
CONVERT(DATETIME,PERIOD,120);
但我得到一个
SqlException:“将表达式转换为数据类型日期时间的算术溢出错误。”
这是整个查询,还有其他错误吗?
"SELECT ACTUAL_N_WELLS, TARGET_N_WELLS, [YTD ACTUAL] AS YTD_ACTUAL, [YTD BUDGET] AS YTD_BUDGET FROM DASH_GL_DRILLING_PERF WHERE ASSET_NAME='Bu Hasa Asset' AND ( CONVERT(DATETIME,PERIOD,112) > (SELECT DATEADD(MONTH,-3,MAX(CONVERT(DATETIME,PERIOD,112))) from DASH_GL_DRILLING_PERF))");
这样做的正确方法是什么?