1
私は従業員のフルネームとして列に長い文字列を持っていますが、私はその名前、ミドルネーム、ラストネームでそれを分割したいと思います。例えば、私はAndrade, Maria Sandra
(lname、(スペース)fname(スペース)mname)を持っています fname = Maria、lname = SandraのようなAndradeとミドルネームのようになります。サブストリングを使用して列を分割する
私の列には一般にlname、fnameがあります。
私はLNAMEを分割することですが、FNAMEとMNAME
SELECT EmployeeName as [full name ], SUBSTRING(EmployeeName,CHARINDEX(',',EmployeeName)+1,LEN(EmployeeName)) as[First name ]
,SUBSTRING(EmployeeName,0,CHARINDEX(',',EmployeeName)) [Last Name]
, SUBSTRING(SUBSTRING(EmployeeName,CHARINDEX(',',EmployeeName)+1,LEN(EmployeeName)),CHARINDEX(' ',EmployeeName),LEN (SUBSTRING(EmployeeName,CHARINDEX(',',EmployeeName),LEN(EmployeeName)))) as[Middle name ]
FROM test$`
これは100回尋ねられており、100%の偽の証明方法はありません。もしJRがあれば、もしIIIがあれば、ミドルネームが2つあればどうなりますか?多くの文化に共通するような2つの姓がある場合はどうすればいいですか?...などです。これを行う努力は後で問題を複雑にするだけです。あなたのデータを標準化し、これを将来的に避けてください。 – scsimon
私はちょうどそれを打ち破る必要があります。もし特定の場合は、私はそれを手動で修正します。 – user7776356
この方法論は、プログラミングのあらゆるパラダイムに逆らっています。 – scsimon