我有一个导入表,所有列都以VARCHAR
的形式出现。
其中一列如下:
strSomeValue
------------
1000.0000
50000.0000
4151.0000
依此类推,依旧是0的4位小数。
我将其转换为整数列,并想知道最佳方式(最有效)。
到目前为止我已经有三个了:
CAST(CAST(strSomeValue as decimal(19,2)) as int)
CAST(SUBSTRING(strSomeValue , 1, CHARINDEX('.', strSomeValue ) - 1) AS INT)
CAST(ROUND(strSomeValue,0) as int)
到目前为止,我认为使用ROUND
的第3种方法是最好的,基于我对客户统计数据的非常有限的了解。
我想知道是否有更好的方法,以及快速确定哪个查询更快的最佳方法是什么?客户统计是唯一/最佳方式,还是有更好的方法来分析这样的简单事情?