我怎样才能获得sql中123456个数字的前3位数?

时间:2012-05-31 06:57:14

标签: sql tsql sql-server-2000

我在我的CDR表中有一个名为 CallingParty 的字段,它包含这样的数据

CallingParty

267672668788

我想选择每个数字的前3个数字,如

CallingParty

267

5 个答案:

答案 0 :(得分:8)

如果CallingParty的类型为int:

SELECT CAST(LEFT(CallingParty, 3) AS INT)
From CDR

答案 1 :(得分:2)

SQL Server有一个Left()函数,但它在字符串上效果最好。 (SQL中的varchar / char)

Select left(cast(267672668788 as varchar), 3)

答案 2 :(得分:1)

使用此查询:

SELECT SUBSTRING(CAST(CallingParty AS VARCHAR(50)), 1, 3) FROM [CDR]

答案 3 :(得分:0)

如果数据长度没有改变,那么你总是可以将你拥有的数字除以10 *

SELECT FLOOR(267672668788 / 1000000000)
=267

答案 4 :(得分:-1)

尝试一下:

SELECT Substring(callingparty, 1, Length(callingparty) - 9) 
FROM   cdr;