欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server 2012 引入CONCAT函数

程序员文章站 2022-06-13 23:18:59
...

Sql server 2012 加入了一些新的系统函数, 下边简单介绍一下CONCAT CONCAT 函数最多可以连接255个字符变量,当调用这个函数的时候需要至少接收两个参数,参数类型不一定是字符串类型,也可以是可以隐式转换为字符串的类型比如int ,float等类型。只要符合sq

  Sql server 2012 加入了一些新的系统函数,, 下边简单介绍一下CONCAT

  CONCAT 函数最多可以连接255个字符变量,当调用这个函数的时候需要至少接收两个参数,参数类型不一定是字符串类型,也可以是可以隐式转换为字符串的类型比如int ,float等类型。只要符合sql 2012的能隐式转换为字符串的规则即可,当我们想把两个值类型的数据连接起来的时候,不需要先将它们转为nvarchar然后再通过“+”来连接了

  如果传入的参数为null,则会把它隐式转换为空字符串,如果所有的输入参数 都是null的话, 会返回一个类型为 VARCHAR(1)的空字符串。

  语法规则

  SELECT CONCAT (String_Value1, String_Value2, String_Value3 [, String_ValueN]) --

  实例:

  DECLARE @a VARCHAR(100)='Jim is now '

  DECLARE @b INT=10

  DECLARE @c VARCHAR(200)=' years old'

  Select CONCAT (@a, @b, @c)

  Go

  Returns:

  Jim is now 10 years old

  上边并没有使用显式转换把int转换为varchar,如果不使用concat呢,我能可能需要这么来做了

  DECLARE @a VARCHAR(100)='Jim is now '

  DECLARE @b INT=10

  DECLARE @c VARCHAR(200)=' years old'

  SELECT @a+Convert(VARCHAR,(@b))+@c

  Go;

  Returns:

  Jim is now 10 years old

  下边是输入参数类型和输出参数的类型:

  下边是输入参数类型和输出参数的类型:

Input Value / Type

Output Value / Type

SQL-CLR (TYPES & UDT)

NVARCHAR(MAX)

NVARCHAR(MAX)

NVARCHAR(MAX)

NVARCHAR(

NVARCHAR(

VARBINARY(MAX)

NVARCHAR(MAX)

ALL OTHER INPUT TYPES

VARCHAR(

  sqlserver 2012还有很多其他新的函数加入

Conversion functions

PARSE PARSE

TRY_CONVERT TRY_CONVERT

TRY_PARSE TRY_PARSE

Date and time functions

DATEFROMPARTS DATEFROMPARTS

DATETIME2FROMPARTS DATETIME2FROMPARTS

DATETIMEFROMPARTS DATETIMEFROMPARTS

DATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS

EOMONTH EOMONTH

SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS

TIMEFROMPARTS TIMEFROMPARTS

Logical functions

CHOOSE CHOOSE

IIF IIF

String functions

CONCAT CONCAT

FORMAT FORMAT