5.函数介绍

字符串函数

ASCII ( 字符表达式 )    ASCII 函数,返回字符串表达式中最左端字符的 ASCII 码值
CHAR ( 整型表达式 )    ASCII 码值转换为相对应的字符,参数为介于 0~255 之间的 整数。没有输入 0~255 之间的 ASCII 码值则 CHAR() 返回 NULL
LEN ( 字符表达式 )    字符串长度函数,返回字符串表达式中字符的个数
LOWER ( 字符表达式 ) 小写字母函数,将大写字母转换为小写字母,返回表达式的 小写字母表示
UPPER ( 字符表达式 ) 大写字母函数,返回指定表达式的大写字母表示
REPLACE ( 字符表达式 1 字符表达式 2 ,字符表达 3) 字符替换函数,用第三个表达式替换第一个字符串表达式中 包含的所有第二个字符表达式,幵返回替换后的表达式
LEFT ( 字符表达式, n) 左子串函数,返回从字符串左边开始的 n 个字符
RIGHT ( 字符表达式, n) 右子串函数,返回从字符串右边开始的 n 个字符
LTRIM ( 字符表达式 ) 删除头部的空格函数,返回删除了前导空格的字符表达式
RTRIM ( 字符表达式 ) 删除尾随空格函数,返回删除所有尾随空格的字符表达式
STR ( 数值表达式 [ ,长 n [ ,小数位 ]]) 数字向字符转换函数,返回由数字转换过来的字符串,长度 用于指定总长度,包括小数点,小数位指小数点右边的位数
 
--【例】使用常用字符串函数计算A的ASCII码,‘hello’的前3个字符,‘数据库原理’字符串的长度,将‘hello转换为大写字母,将‘英语四级’改为‘英语六级’。
select N'A的ASCII'=ASCII('A'),
            N'hello的前三个字符'=LEFT('hello',3),
            N'数据库原理的长度'=LEN(N' 数据库原理'),
            N'将hello转换为大写字母'=UPPER('hello'),
            N'将英语四级改为六级'=Replace(N' 英语四级',N'四',N'六')
 
 
--STR函数:将数值表达式的值转换为字符串,转换时自动四舍五入。默认长度为10,若不指定小数位则保留到整数位,如果长度小于数值表达式值的整数位数,则返回一串*号。
print '(0)123456789'
print '(1)'+str(123.456,7,3)
print '(2)'+str(123.456,3,0)
print '(3)'+str(123.456,2,0)
print '(4)'+str(123.456,9,2)
print '(5)'+str(123.456,10,5)
print '(6)'+str(123.456)
 
 
数学函数
 
ABS ( 数值表达式 ) 绝对值函数,返回数值表达式的绝对值
ACOS ( 实型表达式 反余弦函数,返回一个余弦值对应的角度。角度以弧度表示, 实型表达式取值范围从 -1~1 ,若参数超过此范围,函数返回 NULL 幵报告错误
SIN ( 数值表达式 ) 正弦函数,返回表达式中以弧度表示的指定角的正弦值
COS ( 数值表达式 ) 余弦函数,返回表达式中以弧度表示的指定角的余弦值
TAN ( 数值表达式 ) 正切函数,返回指定表达式中以弧度表示的指定角的正切值
EXP ( 数值表达式 ) 指数函数,返回表达式的指数值
LOG ( 数值表达式 ) 自然对数函数,返回表达式的自然对数值
PI () 圆周率函数,返回 14 位小数的圆周率常量值
RAND () 随机函数,随机返回 0~1 之间的 float 数值
SIGN ( 数值表达式 ) 符号函数,返回表达式的正号、零或负号
SQRT ( 数值表达式 ) 平方根函数,返回表达式的平方根

select N'绝对值函数'=ABS(-5.6),
          N'圆周率函数'=PI(),
          N'平方根函数'=SQRT(64),
          N'随机函数'=RAND(),
          N'对数函数LOGIO'=LOG10(100),
          N'地然对数函数LOG(2.71828)'=LOG(2.71828),
          N'指数函数'=LOG(EXP(2.71828))

数据类型转换函数

--SQL Server会自动完成数据类型的转换,这种转换称隐式转换。但有些类型就不能自动转换,如int整型与char型,这时就要显式转换函cast、convert
--CAST(表达式 AS 数据类型[(长度)]) CONVERT(数据类型[(长度)],表达式[,样式])
--长度:如果数据类型允许设置长度,可以设置长度,例如varchar(10);
--样式:用于将日期类型数据转换为字符数据类型的日期格式的样式。

select CAST(1314.521+6 as int),CONVERT(int,521.1314)

日期和时间函数

GETDATE ( 日期时间型数据 ) 以标准格式返回本地服务器的 DATETIME
DAY ( 日期时间型数据 ) 返回指定日期的日期值
MONTH ( 日期时间型数据 ) 返回指定日期的月份值
YEAR ( 日期时间型数据 ) 返回指定日期的年份值
DATEADD ( 时间间隔,数值表达 式,日期 ) DATETIME 值添加间隔。时间间隔项决定时间 间隔的单位,可取 Year Day of year( 一年的日数 ) Quarter Month Day Week Weekday( 一周的 日数 ) Hour Minute Second Millisecond 。数
值表达式为加上或者减去的时间间隔
DATEDIFF ( 时间间隔,日期 1, 日期 2) 计算两个指定日期之间指定时间间隔的差,返回数 值型数据。时间间隔项决定时间间隔的单位,取值 DATEADD 中的时间间隔项相同
 
--例:使用日期和时间函数显示当前日期,在当前日期后10天的日期,当前日期与2020年4月01日相隔的天数。
select N'显示当前系统日期'=GETDATE(),
          N'在当前日期后10天的日期'=DATEADD(day,10,GETDATE()),
          N'当前日期与2020年4月1日相隔的天数'=DATEDIFF(DAY,GETDATE(),'2020-4-01')
 
系统函数
 
--用户可以在需要时通过系统函数获取当前主机名称、用户名称、数据库名称及系统错误信息。
--(1)函数HOST_NAME()返回服务器端计算机的名称。
-- (2) 函数OBJECT_NAME()返回数据库对象的名称。
--(3) 函数USER_NAME()返回数据库用户名。
--(4) 函数SUSER_NAME()返回用户登录名
--(5) 函数DB_NAME()返回数据库名
 
select '计算机名'=HOST_NAME(),
          '登录名'=SUSER_NAME(),
          '数据库名'=DB_NAME(),
          '数据库用户名'=USER_NAME()
 
sqlserver还有好多函数,在这里就不多介绍了,如果大家还想了解更多的函数可以去网上百度下,我也在学习阶段,不可能所有的函数都会使用,我把我学到的分享给大家,希望对大家学习有帮助。
 
发布了105 篇原创文章 · 获赞 536 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_41934990/article/details/105565740