SQL常用函数集锦.docx
- 文档编号:27148833
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:18
- 大小:101.76KB
SQL常用函数集锦.docx
《SQL常用函数集锦.docx》由会员分享,可在线阅读,更多相关《SQL常用函数集锦.docx(18页珍藏版)》请在冰豆网上搜索。
SQL常用函数集锦
一、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。
在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()
将ASCII 码转换为字符。
如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。
3、LOWER()与UPPER()
LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
4、STR()
把数值型数据转换为字符型数据。
STR (
length 指定返回的字符串的长度,decimal 指定返回的小数位数。
如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;
当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。
二、去空格函数
1、LTRIM() 把字符串头部的空格去掉。
2、RTRIM() 把字符串尾部的空格去掉。
三、取子串函数
1、left()
LEFT (
返回character_expression 左起 integer_expression 个字符。
2、RIGHT()
RIGHT (
返回character_expression 右起 integer_expression 个字符。
3、SUBSTRING()
SUBSTRING (
返回从字符串左边第starting_ position 个字符起length个字符的部分。
四、字符串比较函数
1、CHARINDEX()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX (<’substring_expression’>,
其中substring _expression 就是所要查找的字符表达式,expression 可为字符串也可为列名表达式。
如果没有发现子串,则返回0 值。
此函数不能用于TEXT 与IMAGE 数据类型。
2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX (<’%substring _expression%’>,
与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 (
4、REPLACE()
返回被替换了指定子串的字符串。
REPLACE (
5、SPACE()
返回一个有指定长度的空白字符串。
SPACE (
6、STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF (
如果起始位置为负或长度值为负,或者起始位置大于character_expression1 的长度,则返回NULL 值。
如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。
六、数据类型转换函数
1、CAST()
CAST (
2、CONVERT()
CONVERT (
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 (
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。
5、DATEDIFF()
DATEDIFF (
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值就是一个带有正负号的整数值。
6、DATENAME()
DATENAME (
以字符串的形式返回日期的指定部分此部分。
由datepart 来指定。
7、DATEPART()
DATEPART (
以整数值的形式返回日期的指定部分。
此部分由datepart 来指定。
DATEPART (dd, date) 等同于DAY (date)
DATEPART (mm, date) 等同于MONTH (date)
DATEPART (yy, date) 等同于YEAR (date)
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):
0516200610:
57:
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:
57:
46:
937
SelectCONVERT(varchar(100),GETDATE(),14):
10:
57:
46:
967
SelectCONVERT(varchar(100),GETDATE(),20):
2006-05-1610:
57:
47
SelectCONVERT(varchar(100),GETDATE(),21):
2006-05-1610:
57:
47、157
SelectCONVERT(varchar(100),GETDATE(),22):
05/16/0610:
57:
47AM
SelectCONVERT(varchar(100),GETDATE(),23):
2006-05-16
SelectCONVERT(varchar(100),GETDATE(),24):
10:
57:
47
SelectCONVERT(varchar(100),GETDATE(),25):
2006-05-1610:
57:
47、250
SelectCONVERT(varchar(100),GETDATE(),100):
0516200610:
57AM
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):
10:
57:
49
SelectCONVERT(varchar(100),GETDATE(),109):
0516200610:
57:
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):
1605200610:
57:
49:
513
SelectCONVERT(varchar(100),GETDATE(),114):
10:
57:
49:
547
SelectCONVERT(varchar(100),GETDATE(),120):
2006-05-1610:
57:
49
SelectCONVERT(varchar(100),GETDATE(),121):
2006-05-1610:
57:
49、700
SelectCONVERT(varchar(100),GETDATE(),126):
2006-05-16T10:
57:
49、827
SelectCONVERT(varchar(100),GETDATE(),130):
18?
?
?
?
?
?
?
?
?
?
142710:
57:
49:
907AM
SelectCONVERT(varchar(100),GETDATE(),131):
18/04/142710:
57:
49:
920AM
常用:
SelectCONVERT(varchar(100),GETDATE(),8):
10:
57:
46
SelectCONVERT(varchar(100),GETDATE(),24):
10:
57:
47
SelectCONVERT(varchar(100),GETDATE(),108):
10:
57:
49
SelectCONVERT(varchar(100),GETDATE(),12):
060516
SelectCONVERT(varchar(100),GETDATE(),23):
2006-05-16
八、统计函数
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('lihan',0,3);
-----
li
(所影响的行数为1行)
=========================================================
3:
charindex函数
第一个参数您要查找的char,第二个参数您被查找的字符串返回参数一在参数二的位置
select charindex('a','lihan')
-----------
4
(所影响的行数为1行)
===========================================================
4:
ASCII函数
返回字符表达式中最左侧的字符的ASCII代码值。
selectASCII('lihan')
-----------
108
(所影响的行数为1行)
================================================================
5:
nchar函数
根据Unicode标准的定义,返回具有指定的整数代码的Unicode字符。
参数就是介于0与65535之间的正整数。
如果指定了超出此范围的值,将返回NULL。
selectnchar(3213)
----
unicode字符
(所影响的行数为1行)
=========================================================
6:
soundex
返回一个由四个字符组成的代码(SOUNDEX),用于评估两个字符串的相似性。
SELECTSOUNDEX('lihan'),SOUNDEX('lihon');
----------
L546 L542
(所影响的行数为1行)
=========================================================
7:
char
参数为介于0与255之间的整数。
如果该整数表达式不在此范围内,将返回NULL值。
SELECTchar(125)
----
}
(所影响的行数为1行)
==========================================================
8:
str函数
第一个参数必须为数字,第二个参数表示转化成char型占的位置,小于参数一位置返回*,大于右对齐
SELECTstr(12345,3)
----
***
(所影响的行数为1行)
SELECTstr(12345,12)
------------
12345
(所影响的行数为1行)
===========================================================
9:
difference函数
返回一个整数值,指示两个字符表达式的SOUNDEX值之间的差异。
返回的整数就是SOUNDEX值中相同字符的个数。
返回的值从0到4不等:
0表示几乎不同或完全不同,4表示几乎相同或完全相同。
SELECTdifference('lihan','liha')
-----------
3
(所影响的行数为1行)
==================================================================
10:
stuff函数(四个参数)
函数将字符串插入另一字符串。
它在第一个字符串中从开始位置删除指定长度的字符;然后将第二个字符串插入第一个字符串的开始位置。
SELECTstuff('lihan',2,3,'lihan')
--------
llihann
(所影响的行数为1行)
===============================================================
11:
left函数
返回最左边N个字符,由参数决定
selectleft('lihan',4)
-----
liha
(所影响的行数为1行)
================================================================
12right函数
返回最右边N个字符,由参数决定
selectright('lihan',4)
-----
ihan
(所影响的行数为1行)
================================================================
13:
replicate函数
我的认为就是把参数一复制参数二次
selectreplicate('lihan',4)
--------------------
lihanlihanlihanlihan
(所影响的行数为1行)
===========================================================
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 常用 函数 集锦