从SQL Server(CE)中的数字获得正确的n位数的最佳方法

时间:2013-11-08 08:45:55

标签: c# sql sql-server

我有一个sql server compact framework数据库,我想查询一个int列

该列可以包含1到99999999之间的值,我对正确的4位数感兴趣

示例:

     1 ->    1
    12 ->   12
   123 ->  123
  1234 -> 1234
 12345 -> 2345
123456 -> 3456

我可以将结果转换为字符串并使用子字符串,但可以提供更好的解决方案。

4 个答案:

答案 0 :(得分:11)

使用Modulo

 select 123456 % 10000

SQLFiddle demo

答案 1 :(得分:4)

如果你

SELECT WhateverField % 10000

你将得到4位最右边的数字。

答案 2 :(得分:3)

SELECT RIGHT(column_name, n)

- n是digits

的编号

答案 3 :(得分:0)

您可以使用Mod 10获取任意数字的最后一位数字。

示例:12345%10 = 5

所以,如果你想得到n个数字的n个最后数字:

示例:如果您想要最后4位数,请在1

之后使用4个零

Sql命令:select column% 10000;

ex:123456-> 123456/10000 = 3456

您可以使用除以10来获取第一个数字。