常用的Sql 函数

时间:2023-03-08 16:51:10

常用的Sql 函数

1: replace 函数,替换字符。

语法

replace (original-string, search-string, replace-string )

第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么

select replace('helloword','h','a')

输出:aelloword

2: substring函数,截取字符串。

语法

SUBSTRING ( expression, start, length )

第一个参数你的字符串,第二个是开始截取位置,第三个结束截取位置

select substring('helloword',0,3);

输出:he

3:charindex 函数,返回字符或者字符串在另一个字符串中的起始位置

语法

charindex (expression1 , expression2)

第一个参数你要查找的char,第二个参数你被查找的字符串,返回参数一在参数二的位置

select charindex('e','helloworld')

输出:2

4:str 函数,将数值型转换成指定长度的字符串

语法

STR (float_expression [ , length [ , decimal ] ] )

select STR(12345.633,7,1)

输出:12345.6

5:stuff 函数,将字符串插入另一字符串。它在第一个字符串中从开始位置删除指定长度的字符;然后将第二个字符串插入第一个字符串的开始位置。

语法

STUFF ( character_expression , start , length ,character_expression )

SELECT stuff('helloworld',2,3,'hello')

输出:hhellooworld

6:left 函数,返回最左边N个字符,

语法

left(character_expression, integer_expression)

select left('helloworld',4)

输出:hell

7: right函数,返回最右边N个字符,由参数决定

语法

right(character_expression, integer_expression)

select right('helloworld',4)

输出:orld

8:replicate 函数,以指定的次数重复字符表达式。

语法

replicate ( string_expression ,integer_expression )

select replicate('helloworld',4)

输出:helloworldhelloworldhelloworld

9:len函数,返回参数长度

语法

len ( string_expression )

select len('helloworld')

输出:10

10:reverse函数,反转字符串

语法

reverse ( string_expression )

select reverse('helloworld')

输出:dlrowolleh

11:lowerupper函数,参数大小写转化

语法

lower( string_expression ) , upper( string_expression )

select lower('HELLOWORLD') + upper('helloworld')

输出:helloworldHELLOWORLD

12:ltrimrtrim函数,删除左边空格和右面空格

语法

ltrim( string_expression ) , rtrim( string_expression )

select ltrim('    helloworld                 ')

输出:helloworld

select rtrim('    helloworld                ')

输出:     helloworld

13. PATINDEX 函数,返回模式在指定表达式中第一次出现的起始位置;如果在所有有效的文本和字符数据类型中都找不到该模式,则返回零。

语法

PATINDEX ( '%pattern%' , expression )

select PATINDEX ( '%wor%' , 'helloworld')

输出:6

14.DATEADD 函数,通过向指定日期添加间隔,返回新的 datetime 值。

语法

DATEADD (datepart ,number,date )

SELECT OrderId,DATEADD(day,2,'2012-1-1')

输出:2012-01-03 00:00:00.000

15.DATEDIFF 函数,返回跨越两个指定日期的日期和时间边界的数目。

语法

DATEDIFF ( datepart , startdate , enddate )

SELECT DATEDIFF(day,'2012-1-1 00:00:00.000','2012-1-3 00:00:00.000')

输出:2

16. cast  函数,将某种数据类型的表达式显式转换为另一种数据类型。

语法

cast ( expression AS data_type )

select cast(11 as varchar(10))

输出:11

17. convert 函数,将某种数据类型的表达式显式转换为另一种数据类型。

语法

convert (data_type(length),data_to_be_converted,style)

select convert(VARCHAR(10),GETDATE(),110)

输出:06-09-2014

18:ASCII 函数,返回字符表达式中最左侧的字符的 ASCII 代码值。

语法

ASCII ( character_expression )

select ASCII('helloworld')

输出:104

19:nchar 函数,根据 Unicode 标准的定义,返回具有指定的整数代码的 Unicode 字符。

参数是介于 0 与 65535 之间的正整数。如果指定了超出此范围的值,将返回 NULL。

语法

nchar ( integer_expression )

select nchar(3213)

输出: unicode字符

20:soundex 函数,返回一个soundex字符串。两个字符串应该有几乎是相同的同音字符串。

语法

SOUNDEX ( character_expression )

SELECT SOUNDEX ('helloworld')

输出:H120