How i can get the first 3 digits in 123456 Numbers

2019-04-25 05:22发布

问题:

I have field called CallingParty in My CDR table it contains data like this

CallingParty

267672668788

I want to select the first 3 number of each of those numbers like

CallingParty

267

回答1:

if CallingParty is of type int:

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


回答2:

SQL Server has a Left() function, but it works best on strings. (varchar/char in SQL)

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


回答3:

Use this query:

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


回答4:

If the data length does not change then you can always divide by 10 * the digits you have

SELECT FLOOR(267672668788 / 1000000000)
=267


回答5:

Try this:

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