7

我有一个 sql server 紧凑型框架数据库,我想查询一个 int 列

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

例子:

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

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

4

4 回答 4

13

使用模数

 select 123456 % 10000

SQLFiddle 演示

于 2013-11-08T08:46:57.470 回答
4

如果你

SELECT WhateverField % 10000

你会得到最右边的 4 个数字。

于 2013-11-08T08:48:08.573 回答
3
SELECT RIGHT(column_name, n)

-- n 是数量digits

于 2013-11-08T08:49:33.683 回答
0

你可以做 Mod 10 来获取任何数字的最后一位。

例子 :12345%10 = 5

所以如果你想得到 n 个最后一位数字和零个数:

示例:如果您想要最后 4 位数字,请在 1 之后使用 4 个零

sql命令:select column% 10000;

前任:123456-> 123456/10000 = 3456

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

于 2013-11-08T09:00:36.653 回答