8

我的 CDR 表中有一个名为CallingParty的字段,它包含如下数据:

CallingParty
------------
267672668788

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

CallingParty
------------
267
4

5 回答 5

14

如果CallingParty是 int 类型:

SELECT CAST(LEFT(CallingParty, 3) AS INT)
From CDR
于 2012-05-31T07:01:42.500 回答
2

SQL Server 有一个 Left() 函数,但它最适用于字符串。(SQL 中的 varchar/char)

Select left(cast(267672668788 as varchar), 3)
于 2012-05-31T07:03:22.380 回答
1

使用此查询:

SELECT SUBSTRING(CAST(CallingParty AS VARCHAR(50)), 1, 3) FROM [CDR]
于 2012-05-31T07:02:23.787 回答
1

如果数据长度不变,那么您始终可以除以 10 * 您拥有的数字

SELECT FLOOR(267672668788 / 1000000000)
=267
于 2017-04-07T15:29:00.373 回答
-1

尝试这个:

SELECT Substring(callingparty, 1, Length(callingparty) - 9) 
FROM   cdr; 
于 2019-01-17T09:42:04.247 回答