我在一个SQL表中有一个数据字段,其中包含一个很大的数字(9位数字,一个客户信息号)。我想运行一个只选择数字的最后6位的存储过程。
类似于:
SELECT (Last 6 Digits of num) FROM db
WHERE user = @user有没有人知道有什么方法可以做到这一点?
发布于 2011-06-04 01:46:10
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操作的表的名称。
发布于 2011-06-04 01:57:16
假设num是一个数字数据类型,您可以使用modulo运算符轻松地提取最后6位数字:
select num % 1000000 as num
from db
where user = ?发布于 2011-06-04 01:44:51
假设SQL Server,
SELECT subtring(num,len(num)-6,6) FROM db
WHERE user = @user其他版本可能会使用substr而不是substring。
https://stackoverflow.com/questions/6230665
复制相似问题