字符串函数
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'六')
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)
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')
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()返回数据库名
--(1)函数HOST_NAME()返回服务器端计算机的名称。
-- (2) 函数OBJECT_NAME()返回数据库对象的名称。
--(3) 函数USER_NAME()返回数据库用户名。
--(4) 函数SUSER_NAME()返回用户登录名
--(5) 函数DB_NAME()返回数据库名
select '计算机名'=HOST_NAME(),
'登录名'=SUSER_NAME(),
'数据库名'=DB_NAME(),
'数据库用户名'=USER_NAME()
'登录名'=SUSER_NAME(),
'数据库名'=DB_NAME(),
'数据库用户名'=USER_NAME()
sqlserver还有好多函数,在这里就不多介绍了,如果大家还想了解更多的函数可以去网上百度下,我也在学习阶段,不可能所有的函数都会使用,我把我学到的分享给大家,希望对大家学习有帮助。