How i can get the first 3 digits in 123456 Numbers in sql?

梦想的初衷 提交于 2020-01-13 08:28:12

问题


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; 


来源:https://stackoverflow.com/questions/10828804/how-i-can-get-the-first-3-digits-in-123456-numbers-in-sql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!