sql MS SQL String Manipulation

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql MS SQL String Manipulation相关的知识,希望对你有一定的参考价值。

DECLARE @st varchar(10) = 'Austin';

SELECT ASCII('A'),                      --  65
       UNICODE(@st),                    --  65
       NCHAR(UNICODE(@st)),             --  A
       CONCAT(1,'. ',@st),              --  1. Austin
       UPPER(@st),                      --  AUSTIN
       LOWER(@st),                      --  austin
       LEFT (@st, 3),                   --  Aus
       RIGHT(@st,3),                    --  tin
       SUBSTRING(@st, 4, 3),            --  tin
       CHAR(ASCII(SUBSTRING(@st, 1, 1))), -- A
       CHARINDEX('tin', @st),           --  4
       STUFF(@st, 5, 2, 'ralia'),       --  Australia
       SOUNDEX(@st),                    --  A235
       SOUNDEX('Australia'),            --  A236
       DIFFERENCE(@st,'Australia'),     --  3
       DATALENGTH(@st),                 -- 6
       QUOTENAME(@st),                  -- [Austin]
       REVERSE(@st),                    -- nitsuA
       PATINDEX('%st%', @st)            -- 3
       

-- [CONCAT_WS] - with separator (SQL Svr. 2017+)
CONCAT_WS('.', 'www', 'debuggershub', 'com');
-- www.debuggershub.com


-- [STRING_SPLIT]
STRING_SPLIT('Lorem ipsum', ' ')
-- Output:
-- Lorem
-- ipsum


-- [STRING_ESCAPE]
-- escapes special characters using 
-- JSON rules and returns escaped text.
SELECT STRING_ESCAPE('\   /  
\\    "     ', 'json') AS escapedText;  
-- Output:  \\\t\/\n\\\\\t\"\t


-- [TRIM] (SQL Svr. 2017+)
-- Removes the space character char(32) or other 
-- specified characters from the start or end of a string.
TRIM( '     test    ')
-- Output: test
    
    
-- [TRANSLATE]
TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()')
-- Output: 2*(3+4)/(7-2)


-- [Format]
FORMAT(123456789, '##-##-#####');
-- Output: 12-34-56789
FORMAT (GETDATE(), 'd', 'en-US')
-- Output: 9/1/2019
 
 
-- [Syntax]
-- CONCAT (str_val1, str_val2 [,str_valN])  
-- CONCAT_WS (separator, arg1, arg2 [, argN]...)
-- SUBSTRING ( exp, start, length )  
-- UPPER ( char_exp )  
-- CHAR ( integer_expression )  ( 0 through 255)
-- CHARINDEX ( expToFind , expToSearch [ , start_location ] )  
-- STUFF (char_exp, start, length, replace_with) 
-- SOUNDEX ( char_exp ) similarity of two strings.  
-- STRING_SPLIT ( string , separator )
-- TRIM ( string )  (SQL Svr. 2017+)
-- TRANSLATE ( inputSt, chars, translations)
-- CONCAT_WS (separator, arg1, arg2 [, argN]...)
-- STRING_ESCAPE( text , type )
-- DATALENGTH(expression)
-- FORMAT(value, format, culture)
-- REVERSE(string)
-- PATINDEX(%pattern%, string)

以上是关于sql MS SQL String Manipulation的主要内容,如果未能解决你的问题,请参考以下文章

sql语句里怎么将String转换成Date

MS SQL Server的STRING_SPLIT和STRING_AGG函数

Ms Access SQL:连接用逗号分隔的一对多关系[重复]

没有为存储过程定义参数 @x... 使用 MS_SQL JDBC

MS SQL:在 SELECT 中使用函数调用优化查询

在ms sql中如何拆分字符串:如一列值为 aaabbbccc 如何拆成 aaa , bbb, ccc三列?