2012-06-06 79 views
0

在我的sql數據庫中有一個類似「REG_DET」的表,該表主要包含3個數據成員。姓名,年齡,SSN。這裏SSN是一個包含10個以上字符的字符串。在這裏,我的問題是,當我從表中讀取SSN時,我只需要最後4個字符即​​如何截斷SQL查詢中的數字串數據成員

例如。 Rohith , 25 , 1023456457

結果只包括Rohith , 25 ,6457(最後4個字符SSN)的

是否有可能做一個SQL SELECT查詢(在選擇的時間)。如果有誰知道請幫我

+0

你在用什麼? mysql,mssql oracel – Arion

+0

對不起,我正在使用SQL-Server – Hope

回答

4

可以使用RIGHT功能:

SELECT NAME, 
     AGE, 
     RIGHT(SSN, 4) As SSN_Short 
FROM REG_DET 

(假設你正在使用SQL-ServerMySQL

編輯:由於您使用的TEXT,你需要將其轉換爲VARCHAR第一個:

SELECT NAME, 
     AGE, 
     RIGHT(CONVERT(VARCHAR(8000),SSN)), 4) As SSN_Short 
FROM REG_DET 
+0

但是SSN的數據類型是文本,然後SQL-Server不支持RIGHT – Hope

+0

@Hope:編輯我的答案。 –

+0

謝謝Tim Schmelter – Hope

1

是的,它是可能的RIGHT功能:

SELECT NAME, AGE, RIGHT(SSN, 4) FROM REG_DET 
0

要獲得從SSN列中的最後4位數字,你也可以使用SUBSTRING。如果SSN列的長度爲10,則可以使用以下查詢:

SELECT NAME, AGE, SUBSTRING(SSN, 6, 4) FROM REG_DET