我正在尝试将varchar转换为Int,我尝试了转换,转换,try_cast,但在将varchar转换为数据类型Int时失败了。还有其他的转换方法吗?
select cast('123RA' as INT) as p
必须去掉非数字字符才能转换为整型。
SELECT textval, cast( LEFT(SUBSTRING(textval, PATINDEX('%[0-9.-]%', textval), 8000), PATINDEX('%[^0-9.-]%', SUBSTRING(textval, PATINDEX('%[0-9.-]%', textval), 8000) + 'X') -1) as int) numval from t GO
textval | numval:------ | -----:123RA | 123
db<此处小提琴>此处小提琴>