我在我的CDR表中有一个名为 CallingParty 的字段,它包含这样的数据
267672668788
我想选择每个数字的前3个数字,如
267
答案 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;