Sorry for upper sql. It's wrong.
Right SQL is:
Select upper(Sys_columnname),case when patindex('%[A-Z]%',upper(Sys_columnname))>6 then substring(Sys_columnname,1,6)
when patindex('%[A-Z]%',upper(Sys_columnname))=0 then substring(Sys_columnname,1,6)
else
substring(Sys_columnname,1,patindex('%[A-Z]%',upper(Sys_columnname))-1) end from Sys_tablename
1234564567890
123456
ABCDEFGHIJKLMNOPQRSTU
NULL
123456AABCDEFGH
123456
123ABCDEFGHIJKL12
123
12345ASDFASDFEA123
12345
123456789ASDFASDASDF
123456
12345SDFASDFASDF123
12345