在SELECT语句中使用CHARINDEX在Casting或Converting时提取

时间:2013-09-27 20:17:12

标签: sql sql-server casting charindex

我正在使用SQL Server 2008。 使用以下代码帮助我的代码,是否可以在同一个select语句中将column2从varchar(50)转换或转换为numeric(10,0)?这是导入选项卡式分隔文本文件的存储过程的一部分。如果我不能在select中执行此操作,我可能会创建一些中间临时表。谢谢你的帮助。

SELECT column1
 , RIGHT(column2,CHARINDEX('-',REVERSE(column2))-1) as extracted
 , column3 
FROM myTable

有人要求提供样本数据。 column2可以将Bluebird Clinic-333作为varchar。查询的结果将是333作为数字。问题已经得到解答,但我补充说,以防有人发现它有用。

1 个答案:

答案 0 :(得分:1)

也许?

SELECT column1
 , CAST(RIGHT(column2,CHARINDEX('-',REVERSE(column2))-1) AS numeric(10,0)) as extracted
 , column3 
FROM myTable