在 SQL 中将 CHAR 转换为 int 导致错误

Convert CHAR to int in SQL results in error

我正在使用 Toad Data Point,但在转换列时遇到问题。我正在尝试将包含 Char(2) 的名为 Rep 的列转换为整数。 table 看起来像这样:

Row_ID   Rep   
1        00
2        01
3        02
4        03

我试过以下方法:

drop table if exists #my_table
select Row_ID, CONVERT(INT, Rep) as new_col
into 
#my_table
from original_table

我也试过 CAST(Rep as INT),但都给我错误 Sybase Database Error: Data Exception -date type conversion is not possible

谢谢

在 Sybase 中,像这样的东西应该可以工作:

select Row_ID,
       (case when rep not like '%[^0-9]%' then cast(rep as int) end) as new_col
into #my_table
from original_table;

case 表达式正在检查列 rep 是否只包含数字——也就是说,它没有 non-digit 字符。这不处理负数,但类似的逻辑可以处理。