-1

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

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

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

4

1 回答 1

1

也许?

SELECT column1
 , CAST(RIGHT(column2,CHARINDEX('-',REVERSE(column2))-1) AS numeric(10,0)) as extracted
 , column3 
FROM myTable
于 2013-09-27T20:20:32.253 回答