首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于选择数字的最后6位的存储过程

用于选择数字的最后6位的存储过程
EN

Stack Overflow用户
提问于 2011-06-04 01:41:45
回答 5查看 38.8K关注 0票数 7

我在一个SQL表中有一个数据字段,其中包含一个很大的数字(9位数字,一个客户信息号)。我想运行一个只选择数字的最后6位的存储过程。

类似于:

代码语言:javascript
复制
SELECT (Last 6 Digits of num) FROM db
WHERE user = @user

有没有人知道有什么方法可以做到这一点?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-04 01:46:10

代码语言:javascript
复制
DECLARE @bigOne bigint

SET @bigOne = 999333444

SELECT RIGHT(@bigOne, 6)

返回具有指定字符数的字符串的右侧部分。下面是Right()函数的MSDN:http://msdn.microsoft.com/en-us/library/ms177532.aspx

在你的案例中,corey,你可以这样做:

SELECT RIGHT(num, 6) FROM db WHERE user=@user

只需将num替换为数据库表中列的名称,并将db更改为从中执行SELECT操作的表的名称。

票数 21
EN

Stack Overflow用户

发布于 2011-06-04 01:57:16

假设num是一个数字数据类型,您可以使用modulo运算符轻松地提取最后6位数字:

代码语言:javascript
复制
select num % 1000000 as num
from db
where user = ?
票数 5
EN

Stack Overflow用户

发布于 2011-06-04 01:44:51

假设SQL Server,

代码语言:javascript
复制
SELECT subtring(num,len(num)-6,6) FROM db
WHERE user = @user

其他版本可能会使用substr而不是substring

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6230665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档