不等于: <>
比较两个表达式(比较运算符)。 当比较非空表达式时,如果左操作数不等于右操作数,则结果为 TRUE;否则结果为 FALSE。两个操作数都不可为空。
在结果中新增不存在的列
select *,cast('自定义的值' as 自定义的字段类型) as '列名' from 表名
select *, '自定义的值' as '列名' from 表名 (简写)
case when:判断语句(不是分支语句!)
构造新列example:
简单case when:
select case gender when 1 then 'man'when 0 then 'woman'else 'uk'end as genderword
from student
复杂case when:
select case when (gender = 1) then 'man'when (gender = 1) then 'woman'else 'uk'end as genderword
from student
case when 可以用在很多地方,比如:
UPDATE SalarySET sex= case sexWHEN 'm' THEN 'f'WHEN 'f' THEN 'm'END
取余运算:mod(var1,var2)
var1:被取余数,var2:除数
偶数:mod(var,2)=0
截取字符串:
left(str,length)
right(str,length)
substing(str,position,length):position为负则从后向前截取
substring_index(str,keyword,count):从str中截取到keyword第count次出现的位置,count为负则从后向前截取
逻辑运算:
与:and 或:or 非:not
不可以使用&&,||,!
二进制按位与:&
查找同一个table内重复的数据:
select * from person p1,person p2 where p1.a = p2.a
字符串拼接:concat(str1,str2) (mysql)
大写/小写函数:Upper(str)/Lower(str)
字符串长度函数:
length(str) 返回str的字节长度
char_length(str) 返回str的字符个数