コードの小数点以下の桁数を修正する方法を知りたかっただけです。まず、考慮すべき4つの大まかなポイントがあります。
- 標準コードの小数点以下の桁数は XXX.XX です。
- 一部のコードには小数点以下の桁数がありません
- V コードも XXX.XX フォーマットに従います --> V54.31
- E コードは XXXX.X に従います --> E850.9
したがって、エラーを修正する方法の一般的なロジックは次のとおりです。
If first character = E:
If 5th character = '':
Ignore
Else replace XXXXX with XXXX.X
Else If 4th-5th Char is not '': (XXXX or XXXXX)
replace XXXXX with XXX + . + remainder (XXX.XX or XXX.X)
(All remaining are XXX)
これを 2 つの SQL Update ステートメントで実装しました。
番号 1、非 E コード用:
USE MainDb;
UPDATE "dbo"."icd9cm_diagnosis_codes"
SET "DIAGNOSIS CODE" = SUBSTRING("DIAGNOSIS CODE",1,3)+'.'+SUBSTRING("DIAGNOSIS CODE",4,5)
FROM "dbo"."icd9cm_diagnosis_codes"
WHERE
SUBSTRING("DIAGNOSIS CODE",4,5) != ''
AND
LEFT("DIAGNOSIS CODE",1) != 'E'
番号 2 - E コードの場合:
UPDATE "dbo"."icd9cm_diagnosis_codes"
SET "DIAGNOSIS CODE" = SUBSTRING("DIAGNOSIS CODE",1,4)+'.'+SUBSTRING("DIAGNOSIS CODE",5,5)
FROM "dbo"."icd9_Diagnosis_table"
WHERE
LEFT("DIAGNOSIS CODE",1) = 'E'
AND
SUBSTRING("DIAGNOSIS CODE",5,5) != ''
私のためにトリックをしたようです(SQL Server 2008を使用)。