sql中函数有:算术函数(用来进行数值的计算),字符串函数(用来进行字符串的操作的函数),日期函数(用来进行日期操作的 函数),转换函数(用来转换数据类型和值的函数),聚合函数(用来进行数据聚合的函数)
算术函数:1.abs函数:abs是计算绝对值的函数
select m, abs(m) as abs_col
from SampleMath;
将选中的数据全部转换为绝对值:
2.mod函数:mod是计算除法余数(求余)的函数,需要接收被除数和除数两个参数
select n, p, mod(n, p) as mod_col
from SampleMath;
在sql server中用%代替mod
select n, p, n % p as mod_col
from SampleMath;
3.round函数:round函数用来进行四舍五入操作,接收两个参数,对象数值和保留的小数位数
select m, n, round(m, n) as round_col
from SampleMath;
保留1和2位小数:
字符串函数:1.||拼接字符串,也就是将两个以上的字符串连成一个长的字符串
select str1, str2, str1 || str2 as str_concat
from SampleStr;
在sql server中用+代替||:
select str1, str2, str1 + str2 as str_concat
from SampleStr;
2.length函数:计算字符串长度(字符串包含多少字符)
select str1, length(str1) as len_str
from SampleStr;
在sql server中使用len计算长度:
select str1, len(str1) as len_str
from SampleStr;
3.lower函数:将字符串中所有的英文字母全部转换成小写
upper函数:与lower相反,将所有英文字母转换为大写
4.replace函数:字符串的替换,这个函数接收3个参数
replace(对象字符串,替换前的字符串,替换后的字符串)
select str1, str2, str3, replace(str1, str2, str3) as rep_str
from SampleStr;
str1为原长字符串,str2需要替换的字符串,用str3字符串来代替str1中的str2字符串,这就是replace发挥的作用。若str1中不含str2,则不发生变化。
5.substring函数:字符串的截取
substring语法:substring(对象字符串 from 截取的起始位置 for 截取的字符数)
select str1, SUBSTRING(str1 from 3 for 2) as sub_str
from SampleStr;
在sql server中省略from for语句,改用逗号连接:
select str1, SUBSTRING(str1, 3, 2) as sub_str
from SampleStr;
上述substring的意思是从字符串的第三位开始(包括第三位),取两个单位长度的字符,也就是取字符串的第三位和第四位,相应的位数上不存在字符则不取。
日期函数:1.current_date当前日期(年月日)
current_time当前时间(时分秒)
current_timestamp当前日期和时间
select CURRENT_TIMESTAMP;
2.extract截取日期元素:语法
extract(日期元素 from 日期)
在sql server中使用datepart函数来截取日期元素
select CURRENT_TIMESTAMP,
DATEPART(year, CURRENT_TIMESTAMP) as year,
DATEPART(month, current_timestamp) as month,
DATEPART(day, current_timestamp) as day,
DATEPART(hour, current_timestamp) as hour,
DATEPART(minute, current_timestamp) as minute,
DATEPART(second, current_timestamp) as second;
转换函数:1.cast类型转换函数:语法
cast(转换前的值 as 想要转换的数据类型)
字符串转整数:
select cast('0001' as integer) as int_col;
2.coalesce函数:将null转换为其他值,coalesce函数的参数不固定,可以根据需要无限增加,需要注意的是,参数里至少要有一个值不为null
select coalesce(null, 1);