;
With CTE AS
(
SELECT IIF (ISNULL (POLHOLDERID,'') ='', Member_id, PolHolderId) AS RespMemberId,
CASE WHEN ( Member_id = PolHolderId) then 1 When ISNULL (PolHolderId,'') <> '' THEN 2 ELSE 3 END AS RespLevel ,
ROW_Number() OVER (PARTITION BY [Case Base#] ORDER BY CASE WHEN ( Member_id = PolHolderId) then 1 When ISNULL (PolHolderId,'') <> '' THEN 2 ELSE 3 END, DOB) AS RN,
* FROM [dbo].[AllHRS]
)
INSERT INTO dbo.Eligibility (
[CaseBaseNo]
,[RecordType]
,[HealthPlanId]
,[PlanId]
,[HPMemberId]
,[HPMemberId2]
,[FirstName]
,[MiddleName]
,[LastName]
,[Street1]
,[Street2]
,[City]
,[State]
,[Zip]
,[GroupNumber]
,[UserDefined1]
,[UserDefined2]
,[StartDate]
,[TerminationDate]
,[InitialActivationCode]
,[LoadAmount]
,[ServiceDate]
,[ServiceCode]
,[ServiceDescription]
,[HPReferenceNo]
,[IssueNewCard]
,[Language]
,[Filler])
SELECT
[Case Base#] as CaseBase,
'117A' as RecordType,
'H81' as HealthPlanID,
'H81-117A' as PlanId,
RespMemberId AS MemberId,
null,
IIF (ISNULL (POLHOLDERID,'') ='', Member_First_Name, IIF(Charindex(',', PolHolderName)> 0, Substring(PolHolderName, 1,Charindex(',', PolHolderName)-1), PolHolderName)),
NULL,
IIF (ISNULL (POLHOLDERID,'') ='', Member_Last_Name, Substring(LTRIM(IIF(Charindex(',', PolHolderName)> 0, Substring(PolHolderName, Charindex(',', PolHolderName)+1,LEN(PolHolderName)), PolHolderName)),1,charIndex(' ',
LTRIM(IIF(Charindex(',', PolHolderName)> 0, Substring(PolHolderName, Charindex(',', PolHolderName)+1,LEN(PolHolderName)), PolHolderName))+' '))),
ADDRESS1,
ADDRESS2,
CITY,
STATE,
ZIP,
[Case Base#],
NULL,
NULL,
FORMAT(GETDATE(), 'MM/dd/yyyy') AS [START DATE],
IIF([Member TermDate] is null, '',
DATEADD(month,30,[Member TermDate])),
NULL,
0.00,
[INTERVIEW DATE],
CASE
WHEN Clinical_Variable not like '%57' and Clinical_Variable not like '%58' THEN 'HRS'
WHEN Clinical_Variable like '%57' THEN 'HRA'
WHEN Clinical_Variable like '%58' THEN 'CC'
END as Service_Code,
NULL,
0.00,
'YES',
NULL,
NULL
FROM CTE WHERE RN =1
背景很少。我们从报告部门获取文件。 IT部门的工作是进行一系列聚合并将其推送到另一个文件,即资格文件。
错误说:
Msg 8152, Level 16, State 13, Line 2
String or binary data would be truncated.
The statement has been terminated.
有人可以帮忙吗?有谁知道发生了什么事?
答案 0 :(得分:1)
从错误中可以明显看出,对于其中一列(或更多),您尝试设置的数据大于列大小。我会查看名称列和地址列。调试它的一种简单方法是在select子句中的列周围加上MAX(LEN()),并将其与表定义进行比较。