SqlServer常用函数

来源:互联网 发布:2017支付平台源码 编辑:程序博客网 时间:2024/05/14 02:17

1:replace 函数
第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么
select replace('lihan','a','b')
                                                                 
-----------------------------
lihbn

(所影响的行数为
1 行)
=========================================================
2:substring函数
第一个参数你的字符串,第二个是开始替换位置,第三个结束替换位置
select substring('lihan',0,3);
-----
li

(所影响的行数为
1 行)
=========================================================
3:charindex函数
第一个参数你要查找的char,第二个参数你被查找的字符串 返回参数一在参数二的位置
select  charindex('a','lihan')
-----------
4

(所影响的行数为
1 行)

===========================================================
4:ASCII函数
返回字符表达式中最左侧的字符的
ASCII 代码值。
select ASCII('lihan')
-----------
108

(所影响的行数为
1 行)

================================================================
5:nchar函数
根据
Unicode 标准的定义,返回具有指定的整数代码的 Unicode 字符。
参数是介于
0 65535 之间的正整数。如果指定了超出此范围的值,将返回 NULL
select nchar(3213)
----
unicode字符

(所影响的行数为
1 行)

=========================================================
6soundex
返回一个由四个字符组成的代码 (
SOUNDEX),用于评估两个字符串的相似性。
SELECT SOUNDEX ('lihan'), SOUNDEX ('lihon');
----- -----
L546  L542

(所影响的行数为
1 行)
=========================================================
7char
参数为介于
0 255 之间的整数。如果该整数表达式不在此范围内,将返回 NULL 值。
SELECT char(125)
----
}

(所影响的行数为
1 行)

==========================================================
8:str函数
第一个参数必须为数字,第二个参数表示转化成char型占的位置,小于参数一位置返回
*,大于右对齐
SELECT str(12345,3)
----
***

(所影响的行数为
1 行)

SELECT str(12345,12)
------------
       12345

(所影响的行数为
1 行)
===========================================================
9:difference函数
返回一个整数值,指示两个字符表达式的
SOUNDEX 值之间的差异。
返回的整数是
SOUNDEX 值中相同字符的个数。返回的值从 0 4 不等:0 表示几乎不同或完全不同,4 表示几乎相同或完全相同。
SELECT difference('lihan','liha')
-----------
3

(所影响的行数为
1 行)


==================================================================
10:stuff函数(四个参数)
函数将字符串插入另一字符串。它在第一个字符串中从开始位置删除指定长度的字符;然后将第二个字符串插入第一个字符串的开始位置。
SELECT stuff('lihan',2,3,'lihan')
--------
llihann

(所影响的行数为
1 行)
11:left函数
返回最左边N个字符,由参数决定
select left('lihan',4
)
-----

liha

(所影响的行数为
1
行)
================================================================


12 right函数
返回最右边N个字符,由参数决定
select right('lihan',4
)
-----

ihan

(所影响的行数为
1
行)
================================================================


13:replicate函数
我的认为是把参数一复制参数二次
select replicate('lihan',4
)
--------------------

lihanlihanlihanlihan

(所影响的行数为
1
行)

================================================================


14:len函数
返回参数长度
select len('lihan'
)
-----------

5

(所影响的行数为
1 行)


================================================================

15:reverse函数
反转字符串
select reverse('lihan'
)
-----

nahil

(所影响的行数为
1
行)


=================================================================


16:lower和upper函数
参数大小写转化
select lower(upper('lihan'
))
--------------------

lihan

(所影响的行数为
1
行)

====================================================================


17:ltrim和rtrim函数
删除左边空格和右面空格
select ltrim('    lihan                 '
)
--------------------------

lihan                

(所影响的行数为
1
行)
select rtrim('    lihan'
)
---------

    lihan

(所影响的行数为
1 行)

18. PATINDEX函数
返回字符或者字符串在另一个字符串或者表达式中的起始位置,PATINDEX函数支持搜索字符串中使用通配符,这使PATINDEX函数对于变化的搜索字符串很有价值。第一参数之前和之后必须有
%
字符(搜索第一个或最后一个字符时除外)。

select patindex('%ha%','lihan'
)

-----------

3

(所影响的行数为
1 行)

-------------------------------------------

Select stuff("abcdef",2,3,"ghijk")go

结果:aghijk

stuff的功能:删除指定长度的字符串并在指定的起始点插入另一组字符

STUFF ( character_expression , start , length , character_expression )

character_expression :操作的字符,

start:删除和插入的起始点,

length:删除的长度,

character_expression :要插入的字符

---------------------------------------------

SELECT DATEADD(month, 2, OrderDate) FROM MyOrders
通过向指定日期添加间隔,返回新的
datetime 值。

语法

DATEADD (datepart ,number,date )

SELECT OrderID, DATEDIFF (d, OrderDate, ShippedDate) AS "Shipping Time in Days" FROM Orders WHERE CustomerID = 'VINET'

返回跨越两个指定日期的日期和时间边界的数目。 语法DATEDIFF ( datepart , startdate , enddate )