SQL常用函数集锦Word文档下载推荐.docx
《SQL常用函数集锦Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SQL常用函数集锦Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
1、LTRIM()
把字符串头部的空格去掉。
2、RTRIM()
把字符串尾部的空格去掉。
三、取子串函数
1、left()
LEFT
character_expression>
,
integer_expression>
)
返回character_expression
左起
integer_expression
个字符。
2、RIGHT()
RIGHT
右起
3、SUBSTRING()
SUBSTRING
expression>
starting_
position>
length)
返回从字符串左边第starting_
position
个字符起length个字符的部分。
四、字符串比较函数
1、CHARINDEX()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX
’substring_expression’>
其中substring
_expression
是所要查找的字符表达式,expression
可为字符串也可为列名表达式。
如果没有发现子串,则返回0
值。
此函数不能用于TEXT
和IMAGE
数据类型。
2、PATINDEX()
PATINDEX
’%substring
_expression%’>
column_
name>
)其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX
函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、
VARCHAR
和TEXT
五、字符串操作函数
1、QUOTENAME()
返回被特定字符括起来的字符串。
QUOTENAME
’character_expression’>
[,
quote_
character])
其中quote_
character
标明括字符串所用的字符,缺省值为“[]”。
2、REPLICATE()
返回一个重复character_expression
指定次数的字符串。
REPLICATE
(character_expression
integer_expression)
如果integer_expression
值为负值,则返回NULL
3、REVERSE()
将指定的字符串的字符排列顺序颠倒。
REVERSE
)
其中character_expression
可以是字符串、常数或一个列的值。
4、REPLACE()
返回被替换了指定子串的字符串。
REPLACE
string_expression1>
string_expression2>
string_expression3>
用string_expression3
替换在string_expression1
中的子串string_expression2。
5、SPACE()
返回一个有指定长度的空白字符串。
SPACE
6、STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF
character_expression1>
start_
length>
,<
character_expression2>
如果起始位置为负或长度值为负,或者起始位置大于character_expression1
的长度,则返回NULL
如果length
长度大于character_expression1
中
以右的长度,则character_expression1
只保留首字符。
六、数据类型转换函数
1、CAST()
CAST
AS
data_
type>
[
])
2、CONVERT()
CONVERT
],
style])
1)data_type为SQL
Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用CONVERT()函数的style
选项能以不同的格式显示日期和时间。
style
是将DATATIME
和SMALLDATETIME
数据转换为字符串时所选用的由SQL
Server
系统提供的转换样式编号,不同的样式编号有不同的输出格式。
七、日期函数
1、day(date_expression)
返回date_expression中的日期值
2、month(date_expression)
返回date_expression中的月份值
3、year(date_expression)
返回date_expression中的年份值
4、DATEADD()
DATEADD
datepart>
number>
date>
返回指定日期date
加上指定的额外日期间隔number
产生的新日期。
5、DATEDIFF()
DATEDIFF
date1>
date2>
返回两个指定日期在datepart
方面的不同之处,即date2
超过date1的差距值,其结果值是一个带有正负号的整数值。
6、DATENAME()
DATENAME
以字符串的形式返回日期的指定部分此部分。
由datepart
来指定。
7、DATEPART()
DATEPART
以整数值的形式返回日期的指定部分。
此部分由datepart
(dd,
date)
等同于DAY
(date)
(mm,
等同于MONTH
(yy,
等同于YEAR
8、GETDATE()
以DATETIME
的缺省格式返回系统当前的日期和时间。
9、SqlServer中一个非常强大的日期格式化函数
SelectCONVERT(varchar(100),GETDATE(),0):
0516200610:
57AM
SelectCONVERT(varchar(100),GETDATE(),1):
05/16/06
SelectCONVERT(varchar(100),GETDATE(),2):
06.05.16
SelectCONVERT(varchar(100),GETDATE(),3):
16/05/06
SelectCONVERT(varchar(100),GETDATE(),4):
16.05.06
SelectCONVERT(varchar(100),GETDATE(),5):
16-05-06
SelectCONVERT(varchar(100),GETDATE(),6):
160506
SelectCONVERT(varchar(100),GETDATE(),7):
0516,06
SelectCONVERT(varchar(100),GETDATE(),8):
10:
57:
46
SelectCONVERT(varchar(100),GETDATE(),9):
46:
827AM
SelectCONVERT(varchar(100),GETDATE(),10):
05-16-06
SelectCONVERT(varchar(100),GETDATE(),11):
06/05/16
SelectCONVERT(varchar(100),GETDATE(),12):
060516
SelectCONVERT(varchar(100),GETDATE(),13):
1605200610:
937
SelectCONVERT(varchar(100),GETDATE(),14):
967
SelectCONVERT(varchar(100),GETDATE(),20):
2006-05-1610:
47
SelectCONVERT(varchar(100),GETDATE(),21):
47.157
SelectCONVERT(varchar(100),GETDATE(),22):
05/16/0610:
47AM
SelectCONVERT(varchar(100),GETDATE(),23):
2006-05-16
SelectCONVERT(varchar(100),GETDATE(),24):
SelectCONVERT(varchar(100),GETDATE(),25):
47.250
SelectCONVERT(varchar(100),GETDATE(),100):
SelectCONVERT(varchar(100),GETDATE(),101):
05/16/2006
SelectCONVERT(varchar(100),GETDATE(),102):
2006.05.16
SelectCONVERT(varchar(100),GETDATE(),103):
16/05/2006
SelectCONVERT(varchar(100),GETDATE(),104):
16.05.2006
SelectCONVERT(varchar(100),GETDATE(),105):
16-05-2006
SelectCONVERT(varchar(100),GETDATE(),106):
16052006
SelectCONVERT(varchar(100),GETDATE(),107):
0516,2006
SelectCONVERT(varchar(100),GETDATE(),108):
49
SelectCONVERT(varchar(100),GETDATE(),109):
49:
437AM
SelectCONVERT(varchar(100),GETDATE(),110):
05-16-2006
SelectCONVERT(varchar(100),GETDATE(),111):
2006/05/16
SelectCONVERT(varchar(100),GETDATE(),112):
20060516
SelectCONVERT(varchar(100),GETDATE(),113):
513
SelectCONVERT(varchar(100),GETDATE(),114):
547
SelectCONVERT(varchar(100),GETDATE(),120):
SelectCONVERT(varchar(100),GETDATE(),121):
49.700
SelectCONVERT(varchar(100),GETDATE(),126):
2006-05-16T10:
49.827
SelectCONVERT(varchar(100),GETDATE(),130):
18?
?
?
142710:
907AM
SelectCONVERT(varchar(100),GETDATE(),131):
18/04/142710:
920AM
常用:
八、统计函数
AVG()-返回的平均价值
count()-返回的行数
first()-返回第一个值
last()-返回最后一个值
max()-返回的最大价值
min()-返回最小的价值
total()-返回的总和
九、数学函数
abs(numeric_expr)
求绝对值
ceiling(numeric_expr)
取大于等于指定值的最小整数
exp(float_expr)
取指数
floor(numeric_expr)
小于等于指定值得最大整数
pi()
3.1415926.........
power(numeric_expr,power)
返回power次方
rand([int_expr])
随机数产生器
round(numeric_expr,int_expr)
安int_expr规定的精度四舍五入
sign(int_expr)
根据正数,0,负数,,返回+1,0,-1
sqrt(float_expr)
平方根
十、系统函数
suser_name()
用户登录名
user_name()
用户在数据库中的名字
user
show_role()
对当前用户起作用的规则
db_name()
数据库名
object_name(obj_id)数据库对象名
col_name(obj_id,col_id)列名
col_length(objname,colname)
列长度
valid_name(char_expr)
是否是有效标识符
十一、以上函数的部分实例
1:
replace函数
第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么
selectreplace('
lihan'
'
a'
b'
-----------------------------
lihbn
(所影响的行数为1行)
=========================================================
2:
substring函数
第一个参数你的字符串,第二个是开始替换位置,第三个结束替换位置
selectsubstring('
0,3);
-----
li
3:
charindex函数
第一个参数你要查找的char,第二个参数你被查找的字符串返回参数一在参数二的位置
select
charindex('
-----------
4
===========================================================
4:
ASCII函数
返回字符表达式中最左侧的字符的ASCII代码值。
selectASCII('
108
================================================================
5:
nchar函数
根据Unicode标准的定义,返回具有指定的整数代码的Unicode字符。
参数是介于0与65535之间的正整数。
如果指定了超出此范围的值,将返回NULL。
selectnchar(3213)
----
unicode字符
6:
soundex
返回一个由四个字符组成的代码(SOUNDEX),用于评估两个字符串的相似性。
SELECTSOUNDEX('
),SOUNDEX('
lihon'
);
----------
L546
L542
7:
char
参数为介于0和255之间的整数。
如果该整数表达式不在此范围内,将返回NULL值。
SELECTchar(125)
}
==========================================================
8:
str函数
第一个参数必须为数字,第二个参数表示转化成char型占的位置,小于参数一位置返回*,大于右对齐
SELECTstr(12345,3)
***
SELECTstr(12345,12)
------------
12345
9:
difference函数
返回一个整数值,指示两个字符表达式的SOUNDEX值之间的差异。
返回的整数是SOUNDEX值中相同字符的个数。
返回的值从0到4不等:
0表示几乎不同或完全不同,4表示几乎相同或完全相同。
SELECTdifference('
liha'
3
==================================================================
10:
stuff函数(四个参数)
函数将字符串插入另一字符串。
它在第一个字符串中从开始位置删除指定长度的字符;
然后将第二个字符串插入第一个字符串的开始位置。
SELECTstuff('
2,3,'
--------
llihann
===============================================================
11:
left函数
返回最左边N个字符,由参数决定
selectleft('
4)
liha
12right函数
返回最右边N个字符,由参数决定
selectright('
ihan
13:
replicate函数
我的认为是把参数一复制参数二次
selectreplicate('
--------------------
lihanlihanlihanlihan
14:
len