我的 CDR 表中有一个名为CallingParty的字段,它包含如下数据:
CallingParty
------------
267672668788
我想选择每个数字的前 3 个数字,例如
CallingParty
------------
267
我的 CDR 表中有一个名为CallingParty的字段,它包含如下数据:
CallingParty
------------
267672668788
我想选择每个数字的前 3 个数字,例如
CallingParty
------------
267
如果CallingParty
是 int 类型:
SELECT CAST(LEFT(CallingParty, 3) AS INT)
From CDR
SQL Server 有一个 Left() 函数,但它最适用于字符串。(SQL 中的 varchar/char)
Select left(cast(267672668788 as varchar), 3)
使用此查询:
SELECT SUBSTRING(CAST(CallingParty AS VARCHAR(50)), 1, 3) FROM [CDR]
如果数据长度不变,那么您始终可以除以 10 * 您拥有的数字
SELECT FLOOR(267672668788 / 1000000000)
=267
尝试这个:
SELECT Substring(callingparty, 1, Length(callingparty) - 9)
FROM cdr;