sql中函数有:算术函数(用来进行数值的计算),字符串函数(用来进行字符串的操作的函数),日期函数(用来进行日期操作的 函数),转换函数(用来转换数据类型和值的函数),聚合函数(用来进行数据聚合的函数)

算术函数:1.abs函数:abs是计算绝对值的函数

select m, abs(m) as abs_col
from SampleMath;

 将选中的数据全部转换为绝对值:

sql server语句abs sql语句abs函数_字符串

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;

sql server语句abs sql语句abs函数_sql server语句abs_02

3.round函数:round函数用来进行四舍五入操作,接收两个参数,对象数值和保留的小数位数

select m, n, round(m, n) as round_col
from SampleMath;

保留1和2位小数:

sql server语句abs sql语句abs函数_sql_03

字符串函数:1.||拼接字符串,也就是将两个以上的字符串连成一个长的字符串

select str1, str2, str1 || str2 as str_concat
from SampleStr;
在sql server中用+代替||:
select str1, str2, str1 + str2 as str_concat
from SampleStr;

sql server语句abs sql语句abs函数_sql_04

2.length函数:计算字符串长度(字符串包含多少字符)

select str1, length(str1) as len_str
from SampleStr;
在sql server中使用len计算长度:
select str1, len(str1) as len_str
from SampleStr;

sql server语句abs sql语句abs函数_sql server语句abs_05

3.lower函数:将字符串中所有的英文字母全部转换成小写

upper函数:与lower相反,将所有英文字母转换为大写

4.replace函数:字符串的替换,这个函数接收3个参数

replace(对象字符串,替换前的字符串,替换后的字符串)

select str1, str2, str3, replace(str1, str2, str3) as rep_str
from SampleStr;

sql server语句abs sql语句abs函数_字符串_06

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;

sql server语句abs sql语句abs函数_sql_07

上述substring的意思是从字符串的第三位开始(包括第三位),取两个单位长度的字符,也就是取字符串的第三位和第四位,相应的位数上不存在字符则不取。

日期函数:1.current_date当前日期(年月日)

                     current_time当前时间(时分秒)

                     current_timestamp当前日期和时间

select CURRENT_TIMESTAMP;

sql server语句abs sql语句abs函数_sql server语句abs_08

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;

sql server语句abs sql语句abs函数_sql server语句abs_09

转换函数:1.cast类型转换函数:语法

cast(转换前的值 as 想要转换的数据类型)

字符串转整数:

select cast('0001' as integer) as int_col;

sql server语句abs sql语句abs函数_字符串_10

2.coalesce函数:将null转换为其他值,coalesce函数的参数不固定,可以根据需要无限增加,需要注意的是,参数里至少要有一个值不为null

select coalesce(null, 1);

sql server语句abs sql语句abs函数_sql_11