#sql
#sql
Вопрос:
Я создаю ключ статистической привязки, и я успешно выполнил эту часть. Проблема, с которой я сталкиваюсь, заключается в том, что имена некоторых людей недостаточно длинные, поэтому им не хватает 13 символов. Мне нужно иметь возможность добавить «2» в конец, чтобы сделать его требуемым 14 символами. Ниже приведен мой код, который работает, я просто пытаюсь заполнить только те, которые не соответствуют, чтобы добавить число «2» в конец. Например, если имя сомона было очень коротким, а в ключе было всего 10 символов, я бы добавил к нему четыре ‘2’ и так далее. Я действительно надеюсь, что добавил достаточно информации. Заранее спасибо
isnull(SUBSTRING(rtrim(ltrim(replace(hhm.Surname,'''',''))),2,1),'2')
isnull(SUBSTRING(rtrim(ltrim(replace(hhm.Surname,' ',''))),3,1),'2')
isnull(SUBSTRING(rtrim(ltrim(replace(hhm.Surname,' ',''))),5,1),'2')
isnull(SUBSTRING(rtrim(ltrim(replace(hhm.forenames,'''',''))),2,1),'2')
isnull(SUBSTRING(rtrim(ltrim(replace(hhm.forenames,' ',''))),3,1),'2')
case when hhm.[Date of Birth] is NULL
then '00000000'
else replace(CONVERT(char(10),hhm.[Date of Birth],103),'/','')
end
isnull(case when hhm.Gender = 'M'
then '1'
else '2'
end,'2') as 'Statistical Linkage Key'
Ответ №1:
На случай, если кто-нибудь столкнется с этим и задастся вопросом, каков был ответ, я в конце концов понял это. Мне просто нужно было добавить в COALESCE(NULLIF(filed),»), ‘2’), как вы можете видеть ниже.
,COALESCE(NULLIF(SUBSTRING(rtrim(ltrim(replace(hhm.Surname,'''',''))),2,1),''),'2')
COALESCE(NULLIF(SUBSTRING(rtrim(ltrim(replace(hhm.Surname,' ',''))),3,1),''),'2')
COALESCE(NULLIF(SUBSTRING(rtrim(ltrim(replace(hhm.Surname,' ',''))),5,1),''),'2')
COALESCE(NULLIF(SUBSTRING(rtrim(ltrim(replace(hhm.forenames,'''',''))),2,1),''),'2')
COALESCE(NULLIF(SUBSTRING(rtrim(ltrim(replace(hhm.forenames,' ',''))),3,1),''),'2')
case when hhm.[Date of Birth] is NULL
then '00000000'
else replace(CONVERT(char(10),hhm.[Date of Birth],103),'/','')
end
isnull(case when hhm.Gender = 'M'
then '1'
else '2'
end,'2') as 'Statistical Linkage Key'