2024/10/23
82 阅读

SQLSERVER 2012新增了两个字符串函数CONCAT和FORMAT。本文首先介绍一下CONCAT,CONCAT函数的作用是可以返回多个字符串拼接后的结果。SQL中的CONCAT函数也用于将两个或多个字符串连接在一起,形成一个字符串,至少包含两个参数,最多可以接受254个参数。在编程和数据处理中,concat函数是一个非常有用的工具,可以帮助用户将多个数据源或数据片段整合成一个连续的数据流或字符串,从而简化数据处理和分析的过程。在SQL Server中使用CONCAT()函数的示例包括连接字符串字面量和列值,‌以及处理NULL值。‌

连接字符串字面量:‌SELECT CONCAT('Happy ', 'Birthday ', 20, '/', 26) AS Result; 结果为 Happy Birthday 20/26。‌

处理NULL值:‌在一个包含NULL值的表中,‌即使某列的值为NULL,‌CONCAT()函数也能正确处理,‌将其视为空字符串进行连接。‌例如,‌在包含NULL值的表中查询时,‌CONCAT()函数会忽略NULL值,‌最终结果中该部分将显示为空字符串。‌

select '第'+ltrim([Ranknum])+'名'

select concat('第',[Ranknum],'名')

从上面的实例中我们可以看到CONCAT的两个优点:

      1.当数据类型不一致的时候可以自动转换;

      2.对于null的处理,不用isnull也可以避免因拼接而导致结果为null的情况。

SET @C_commandsql = 'SELECT [id]

                                  ,[sNumber]

                                  ,[stId]

                                  ,[InDate]

                                  ,[serk]

                            FROM [dbo].[Sder] 

                            where 1=1 '

        

        IF(@p_sNumber IS NOT NULL)

            SET @C_commandsql = CONCAT(@C_commandsql,' AND sNumber= @p_sNumber')