+ 的使用(计算使用)
在数据库sql中的 + 的使用
在数据库sql 中的+仅作为一个运算符使用
如果在 + 两边是数类型则会进行运算;
如果两边当中有一个不是数值类型,则可以进行转换,如果转换成功,就会 进行计算;
例如select '100'+ 90. 则执行的值是190
如果转换失败就会将不是数值类型内容转换为0在进行计算
例如. select 'admin'+90. 则执行的值是90
select null+10;只要一方为null其值都是null
concat函数(作拼接使用)
select CONCAT(
name,
addr) as xm FROM rur
将name和addr这两个字段的值进行拼接,as后面是起别名,
执行结果为:
select CONCAT(`name`,'&&&',addr) xm from rur
条件运算符的使用
不等于的运算符的使用
#查询出来age不等于33的数据
select age,`name` from rur where age<>33
select age,`name` from rur where age!=33
&&和and 如果两个都为true则为true,反之为false
||和or只要有一个条件是true则为true,反之为false
!和not如果链接条件为true则结果为false,反之为结果为true
常见函数的使用
大小写的函数的使用
select upper(name). from rur
将name里的字段内容转换为大写
select lower(name). from rur
将name里的字段内容转换为小写
select CONCAT(UPPER(
name),LOWER(
cgang)) from rur
将name的字段转化为大写
在数据库中=不能判断null 通过is 来判断null,所以使用is null或者is not null来进行判断,也可以使用if null
安全等于<=>
安全等于就是判断是否有安全等于后面的值,如果有则当成判断条件查询出来结果,如果不等于则不查询其结果;
合并两个或多个 SELECT 语句的结果集(UNION 和 UNION ALL )
UNION 和 UNION ALL 可以将多个sql语句进行合并,但是合并的sql语句的所查询出来的列的数量必须相同,否则会报错,但是列名和表名都可以不相同,条件的列也可以不一样;
select target,process_code from c_rbst_reimbursement_dept_subject
UNION ALL
select name,createname from c_rbst_reimbursement_special_subject
查询出来的结果
对上面的sql语句进行说明
select target,process_code from c_rbst_reimbursement_dept_subject
select name,createname from c_rbst_reimbursement_special_subject
截取(substr)
rur表
在mybatis中索引是从1开始的,
select SUBSTR(
name,3) from rur
从第三个字符进行截取到最后
select SUBSTR(
NAME,2,3) from rur
. 从第一个字符进行截取,截取的长度是三
姓名首字母大写其余的小写,并用"_"进行拼接,显示出来
select CONCAT(UPPER(cgang),"_",LOWER(`name`)) from rur
将cgang字段的第一个字母截取出来转换为大写,将name字段的第三个字母开始截取,截取2个出来转换为小写使用’_'进行拼接
select CONCAT(UPPER(SUBSTR(cgang,1,1)),"_",LOWER(SUBSTR(`name`,3,2)))from rur
insert返回字串第一次出现的索引,如果找不到就返回0
select INSTR('杨过和小龙女曾经是无敌','小龙女') AS aa
insert返回字串第一次出现的索引,如果找不到就返回0
select INSTR('杨过和小龙女曾经是无敌','小美女') AS aa
如果有多次出现字串,那么就按照第一个出现的字串索引返回
select INSTR('杨过和小龙女曾经是无敌,而小龙女也很喜欢他','小龙女') AS aa
lpad使用字符进行左填充指定相应的长度
#这里指的是总共长度是10个如果不够10个字符串,就使用*进行填充
select LPAD('美丽的山水',10,'************') AS bb
如果小于本身的长度
select LPAD('美丽的山水',10,'************') AS bb
右填充
select RPAD('美丽的山水',12,'ad') AS bb
截断(TRUNCATE)
#截断
select TRUNCATE(1.69999,2)
mod去余
select MOD(10,3)
日期函数
now();
select now();
返回当前系统时间,即有年月日,没有时分秒
select CURDATE();#即有年月日,没有时分秒;
返回当前时间,不包含日期;
select CURTIME()
STR_TO_DATE是字符串通过指定的格式转化为日期