SQLServer中的内置函数(超详细讲解),⼀次性全都掌握!
前⾔:在Transact-SQL语⾔中,函数被⽤来执⾏⼀些特殊的运算以⽀持SQL Server的标准命令。SQL Server包含多种不同的函数⽤以完成各种⼯作,每⼀个函数都有⼀个名称,在名称之后有⼀对⼩括号,如:GETDATE()。⼤部分的函数在⼩括号中需要⼀个或多个参数。
⽂章⽬录
常⽤的⼏类函数:
转换函数
⽤来实现数据类型之间的转换
字符串函数
⽤于控制返回给⽤户的字符串
⽇期函数
⽤于操作⽇期值
数学函数
⽤于对数值进⾏代数运算
系统函数
获取有关SQL Server中对象和设置的系统信息
ps4软件下载手机版其他函数
SQL Server中其他常⽤的函数
⼀、转换函数
函数名描 述⽰ 例
CAST将⼀种数据类型的表达式转换为另⼀种数据类型的表达式SELECT CAST(12345 AS VARCHAR(5))返回:字符串12345
CONVERT将⼀种数据类型的表达式转换为另⼀种数据类型的表达式SELECT CONVERT(VARCHAR(5),12345)返回:字符串12345
⼆、字符串函数
函数名描 述⽰ 例
CHARINDEX寻⼀个指定的字符串在另⼀个字符串中的起始位置SELECT CHARINDEX(‘Server’,‘SQL Server课程’,1)返回:5
DATALENGTH返回⽤来表⽰任何表达式的字节数SELECT DATALENGTH(‘SQL Server’)
返回:10
LEN返回传递给它的字符串长度SELECT LEN(‘SQL Server课程’)返回:12
UPPER把传递给它的字符串转换为⼤写SELECT UPPER(‘sql server课程’)返回:SQL SERVER课程
eval是做什么的LOWER把传递给它的字符串转换为⼩写SELECT LOWER(‘SQL SERVER课程’)返回:sql server课程
LTRIM清除字符左边的空格SELECT LTRIM(’ 数据库 ')
返回:数据库 (后⾯的空格保留)
RTRIM清除字符右边的空格SELECT RTRIM(’ 数据库 ')
返回: 数据库 (前⾯的空格保留)
LEFT从字符串左边返回指定数⽬的字符SELECT LEFT(‘SQL Server课程’,3)返回:SQL
RIGHT从字符串右边返回指定数⽬的字符SELECT RIGHT(‘SQL Server课程’,2)返回:课程
SUBSTRING从字符串中间返回指定数⽬的字符SELECT SUBSTRING(‘SQL Server课程’,5,6)返回:Server
REPLACE替换⼀个字符串中的字符SELECT REPLACE(‘SQL Server课程’,‘课程’,‘数据库’)
返回:SQL Server数据库
REVERSE按相反顺序返回字符串表达式SELECT REVERSE(‘SQL Server课程’)返回:程课revreS LQS
STUFF 在⼀个字符串中,删除指定长度的字符,并在该位置插⼊⼀个新的字符
串
SELECT STUFF(‘MySQL课程’,1,2,‘我的’)
返回:我的SQL课程
SPACE返回由重复的空格组成的字符串SELECT SPACE(5)返回:返回5个空格
REPLICATE返回多次复制后的字符表达式SELECT REPLICATE(’+’,3)返回:+++
PATINDEX返回指定表达式中某模式第⼀次出现的起始位置SELECT PATINDEX(’%数据%’,‘MySQL数据库⼊门’)返回:6
STR返回由数字数据转换来的字符数据SELECT STR(123.45,6,1)返回:123.5
CHAR将int ASCII代码转换为字符SELECT CHAR(65)返回:A
函数名描 述⽰ 例
三、⽇期函数
函数名描 述⽰ 例
GETDATE取得当前的系统函数SELECT GETDATE()返回:今天的⽇期
哪个地方可以学嵌入式
DATEADD将指定的数值添加到指定的⽇期部分后的⽇期SELECT DATEADD(mm,4,‘2020-5-6’)返回:2020-9-6
DATEDIFF两个⽇期之间的指定⽇期部分的间隔SELECT DATEDIFF(mm,‘2019-3-25’,‘2020-5-6’)返回:14
DATENAME⽇期中指定⽇期部分的字符串形式SELECT DATENAME(dw,‘2020-5-6’)返回:星期三层序遍历二叉树算法
SELECT DATEPART(yy,‘2020-5-6’)
DATEPART⽇期中指定⽇期部分的整数形式返回:2020
DAY、MONTH、YEAR返回⼀个整数SELECT MONTH(GETDATE())返回:5
函数名描 述⽰ 例
mysql中decimal四、数学函数
函数名描 述⽰ 例
RAND返回从0到1之间的随机float值SELECT RAND()
返回:0.9857313976146
ABS返回数值表达式的绝对值SELECT ABS(-45)返回:45
ASCII返回字符表达式中最左侧的字符的ASCII代码值SELECT ASCII(‘a’)返回:97
CEILING返回⼤于或等于指定数值、表达式的最⼩整数SELECT CEILING(43.5)返回:44
FLOOR返回⼩于或等于指定表达式的最⼤整数SELECT FLOOR(43.5)返回:43
PI返回PI的常量值SELECT PI()
返回:3.14159265358979
POWER返回数值表达式的幂值SELECT POWER(5,2)返回:25
SQUARE返回指定浮点值的平⽅SELECT SQUARE(2.3)返回:5.29
ROUND将数值表达式四舍五⼊为指定精度SELECT ROUND(43.543,1)返回:43.500
mysql面试题及讲解SIGN对于正数返回+1,对于负数返回-1,对于0则返回0SELECT SIGN(-43)返回:-1
SQRT返回浮点表达式的平⽅根SELECT SQRT(9)返回:3
五、系统函数
函数名描 述⽰ 例
CONVERT⽤来转变数据类型SELECT CONVERT(VARCHAR(5),12345)返回:字符串12345
CURRENT_USER返回当前⽤户的名称
SELECT CURRENT_USER
返回:你登录的⽤户名
DATALENGTH返回⽤于指定表达式的字节数SELECT DATALENGTH(‘SQL Server课程’)返回:14
HOST_NAME返回当前⽤户所登录的计算机名字SELECT HOST_NAME()
返回:你所登录的计算机的名字
SYSTEM_USER返回当前所登录的⽤户名称SELECT SYSTEM_USER
返回:你当前所登录的⽤户名
USER_NAME从给定的⽤户ID返回⽤户名SELECT USER_NAME(1)
返回:从任意数据库中返回“dbo”
六、其他函数
函数名描 述⽰ 例
ISDATE判断有效⽇期或时间值,则返回1;否则,返回0
SELECT ISDATE(‘2020-2-29’)
返回:1(有效,因为2020年2⽉有29天)
ISNULL使⽤指定的替换值替换NULL
SELECT sName,ISNULL(sScore,0) FROM student
返回:将student表中sScore列中值为“NULL”的,替换为0
NULLIF如果两个指定的表达式相等,则返回空值SELECT NULLIF(‘SQL’,‘SQL’)
返回:NULL
ISNUMERIC确定表达式是否为有效的数据类型,则返回 1;否则,返回 0
SELECT ISNUMERIC(3)返回:1(int,numeric,bigint, money,smallint,smallmoney tinyint,float,decimal,real)
COALESCE返回其参数中第⼀个⾮空表达式SELECT COALESCE(NULL,NULL,N’A’,NULL,NULL)
返回:A
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论