• 相关软件
    >+(字符串串联) 创建者:webmaster 更新时间:2006-02-16 15:51

    字符串表达式中的运算符,将两个或多个字符或二进制字符串、列或字符串和列名的组合串联到一个表达式中(字符串运算符)。



    语法


    expression + expression



    参数


    expression



    是字符和二进制数据类型分类中任何数据类型(imagentext text 数据类型除外)的任何有效 Microsoft® SQL Server™ 表达式。两个表达式都必须具有相同的数据类型,或者其中的一个表达式必须能够隐式地转换为具有另一种数据类型的表达式。



    在二进制字符串连同任何字符串与二进制字符串之间进行串联时,必须使用字符数据的显式转换。下面的示例显示了对于二进制串联,何时必须使用 CONVERT(或 CAST),何时不需要使用 CONVERT(或 CAST)。



    DECLARE @mybin1 binary(5), @mybin2 binary(5)
    SET @mybin1 = 0xFF
    SET @mybin2 = 0xA5
    -- No CONVERT or CAST function is necessary because this example
    -- concatenates two binary strings.
    SELECT @mybin1 + @mybin2
    -- A CONVERT or CAST function is necessary because this example
    -- concatenates two binary strings plus a space.
    SELECT CONVERT(varchar(5), @mybin1) + ' '
      + CONVERT(varchar(5), @mybin2)
    -- Here is the same conversion using CAST
    SELECT CAST(@mybin1 AS varchar(5)) + ' '
      + CAST(@mybin2 AS varchar(5))


    结果类型


    返回优先级最高的参数的数据类型。有关更多信息,请参见数据类型的优先顺序



    注释


    当串联空值时,由 sp_dboptionconcat null yields null 设置或者 SET CONCAT_NULL_YIELDS_NULL 决定某个 expression 为 NULL 时的行为。根据 concat null yields null 或者将 SET CONCAT_NULL_YIELDS_NULL 启用为 ON,'string' + NULL 将返回 NULL。如果禁用了 concat null yields null 或 SET CONCAT_NULL_YIELDS_NULL,则结果为 'string'。



    示例


    A. 使用字符串串联


    下面的示例从多个字符列中创建单个列(在列标题 Name 下),其中含有作者的姓氏,后面跟一个逗号和一个空格,然后是作者的名字。结果集是按照作者的姓氏,然后按照作者名字以字母递增顺序排列的。



    USE pubs
    SELECT (au_lname + ', ' + au_fname) AS Name
    FROM authors
    ORDER BY au_lname ASC, au_fname ASC


    下面是结果集:



    Name                                                           
    --------------------------------------------------------------
    Bennet, Abraham                                
    Blotchet-Halls, Reginald                          
    Carson, Cheryl                                
    DeFrance, Michel                              
    del Castillo, Innes                            
    Dull, Ann                                    
    Green, Marjorie                                
    Greene, Morningstar                            
    Gringlesby, Burt                              
    Hunter, Sheryl                                
    Karsen, Livia                                
    Locksley, Charlene                              
    MacFeather, Stearns                            
    McBadden, Heather                              
    O'Leary, Michael                              
    Panteley, Sylvia                              
    Ringer, Albert                                
    Ringer, Anne                                  
    Smith, Meander                                
    Straight, Dean                                
    Stringer, Dirk                                
    White, Johnson                                
    Yokomoto, Akiko                                

    (23 row(s) affected)


    B. 组合数字和日期数据类型


    该示例使用 CAST 函数将 numeric date 数据类型串联起来。



    USE pubs
    SELECT 'The order date is ' + CAST(ord_date AS varchar(30))
    FROM sales
    WHERE ord_num = 'A2976'
    ORDER BY ord_num


    下面是结果集:



    ------------------------------------------------ 
    The order date is May 24 1993 12:00AM        

    (1 row(s) affected)


    C. 使用多个字符串串联


    下面的示例串联多个字符串,形成一个长字符串。若要显示居住在 California 州的每个作者的姓氏和名字的首字母,则应该在姓氏后面设置一个逗号,并在名字的首字母后放置一个句点。



    USE pubs
    SELECT (au_lname + ',' + SPACE(1) + SUBSTRING(au_fname, 1, 1) + '.') AS Name
    FROM authors
    WHERE state = 'CA'
    ORDER BY au_lname ASC, au_fname ASC


    下面是结果集:



    Name                                         
    --------------------------------------------
    Bennet, A.                      
    Carson, C.                      
    Dull, A.                        
    Green, M.                        
    Gringlesby, B.                    
    Hunter, S.                      
    Karsen, L.                      
    Locksley, C.                      
    MacFeather, S.                    
    McBadden, H.                      
    O'Leary, M.                      
    Straight, D.                      
    Stringer, D.                      
    White, J.                        
    Yokomoto, A.                      

    (15 row(s) affected)
    相关文章
    本页查看次数: