NULL不代表0 也不代表0长度的字符串
NULL含义以及场景:
1.真未知:其实某个属性是可能有值的,不知道这个值是什么,所以未填写(员工上一份工作的 工资)
2.尚未知:还未发生,这个字段未来会有值但是现在无法填写(员工即将分配的部门,员工未入 职,无法填写工作部门)
3.不适用:ALPHGO的性别(因为为机器人所以性别位置)
NULL隐患——数据运算
任何数字与NULL做数学运算均为NULL
NULL隐患——Where子句
搞清NULL含义,小心“<>”以及“全选”
NULL隐患——Join
NULL与NULL Join没有结果
NULL隐患——聚合函数
若NULL设为0,AVG,MIN,MAX,COUNT均受v
NULL隐患——子查询
当存在NULL时,使用not in 时需要特别注意
---TRIM函数
是用来移除掉一个字串中的字头或字尾。最常见的用途时移除字首或字尾的空白。
各种trim函数的语法如下:
TRIM([[位置][要移除的字串]FROM]字串):[位置]的可能值为LEADING(起头),TRAILING(结尾),or BOTH(起头及结尾)。这个函数将把[要移除的字串]从字串的起头、结尾、或者是起头及结尾移除。如果我们没有列出[要移除的字串]是什么的话,那空白就会被移除。
LTRIM(字串):将所有字串起头的空白移除
RTRIM(字串):将所有字串结尾的空白移除
ex1:
SELECT TRIM(' SAMPLE ');
'SAMPLE' -- 结果
ex2:
SELECT LTRIM(' SAMPLE ');
'SAMPLE ' ---结果
ex3:
SELECT RTRIM(' SAMPLE ')
' SAMPLE' --结果
sql复制表结构及数据:
create table 新表 as select * from 旧表
复制表结构不需要数据:
create table 新表 as select * from 旧表
操作字段
1.增加字段:
alter table 表名 add (字段名称 字段类型)
2.修改字段:
alter table 表名 modify (字段名称 字段类型)
3.删除字段:
alter table 表名 drop column 字段名称