2012-04-24 64 views
2

我需要這樣的事情,SQL截斷/墊串

SELECT CLIENT_AHCCCS_ID + CLIENT_FIRST_NAME + CLIENT_LAST_NAME + replace(convert(datetime, DATE_OF_BIRTH, 1), '/', '') 
FROM tblCLIENT 
WHERE CLIENT_AHCCCS_ID IS NOT NULL AND CLIENT_AHCCCS_ID LIKE 'A%' 

但必須確保

CLIENT_AHCCCS_ID  (9 character) 
Member Last Name  (25 character) 
First Name   (25 character) 

我必須用空格填充的字符串。我怎麼能做到這一點?

+1

的SQL Server,SYBASE,甲骨文,爲了什麼? – 2012-04-24 16:01:42

回答

4

假設的SQL Server,SQL數據類型字符墊用字符串,所以你總是可以轉換爲:

SELECT 
    CONVERT(char(9), CLIENT_AHCCCS_ID) + 
    CONVERT(char(25), CLIENT_FIRST_NAME) + 
    CONVERT(char(25), CLIENT_LAST_NAME) + 
    replace... 
+1

您可能想要添加'COALESCE(fieldname,'''以確保空值轉換爲正確的長度 – 2012-04-24 21:29:05

+0

好點,@Conrad! – 2012-04-25 06:15:46