萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> SQL Server 2012 引入CONCAT函數

SQL Server 2012 引入CONCAT函數

   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(<=4000)

NVARCHAR(<=4000)

VARBINARY(MAX)

NVARCHAR(MAX)

ALL OTHER INPUT TYPES

VARCHAR(<=8000) *Unless one of the parameters is an NVARCHAR   of any length and in that case, the output value would be in NVARCHAR(MAX)

  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
copyright © 萬盛學電腦網 all rights reserved