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