sql server中的max()问题

Won*_*ing 3 sql sql-server

我有像字母数字一样的字母数字.XYZ1,XYZ2 ...... XYZ11,XYZ12等,现在我想只选择最大数值,即12.我试过了-

 select max(REPLACE(ID,'XYZ','')) from myTable;
Run Code Online (Sandbox Code Playgroud)

但这是回归9.为什么?

Nul*_*Ref 6

尝试转换为INT之前 max

select max(cast(REPLACE(ID,'XYZ','') as int)) from myTable;
Run Code Online (Sandbox Code Playgroud)