在 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 字符。这不处理负数,但类似的逻辑可以处理。
我正在使用 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 字符。这不处理负数,但类似的逻辑可以处理。