对于SQL Server, 最简单的 方法肯定是:
SELECT CAST(LEFt(CAST(YourInt AS VARCHAr(100)), 3) AS INT)
转换为字符串,使用最左边的三个字符,然后将其转换回INT。
由于仅需要知道要去除多少位数等等内容,所以仅对数字进行处理会很麻烦。
如果您只想使用INT,则必须构造类似的东西(至少您可以在SQL Server中做到这一点-我对Access并不很熟悉,无法知道它是否可以在Access
SQL“方言中工作” ”):
DECLARE @MyInt INT = 1234567SELECT CASE WHEN @MyInt < 1000 THEN @MyInt WHEN @MyInt > 10000000 THEN @MyInt / 100000 WHEN @MyInt > 1000000 THEN @MyInt / 10000 WHEN @MyInt > 100000 THEN @MyInt / 1000 WHEN @MyInt > 10000 THEN @MyInt / 100 WHEN @MyInt > 1000 THEN @MyInt / 10 END AS 'NewInt'
但这始终是一个近似值-如果您有一个非常非常大的数字…该怎么办呢?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)