数据库操作语句记录
1、查询表exam_manage表中第10到20条记录:
select top 10 * from exam_manage where emp_num not in (select top 10 emp_num from exam_manage)
2、将某一字符串补齐为10位,原始字符串为123456,需处理为0000123456
right('0000000000'+'123456',10);
right(参数1,参数2)
right 是对参数1从右边开始取字符串,取的位数为参数2
比如:right('sfsf1231231',5) 得到的结果就是 31231
3、查询表exam_manage中emp_num字段(varchar型)值最大的那条记录
select * from exam_manage where emp_num = (select max(cast(emp_num as bigint)) from exam_manage)
4、系统函数case when...then...else...end
select emp_num as 工号,
case state when '1' then '安排' else '未安排' end
as 安排与否
from exam_manage
5、表a有一字段falg,其值可为0、1、2、3 统计各种有多少条记录
0--待审核 1--学员收回 2--上级退回 3--审核通过
select distinct b.审核状态,count(b.审核状态) as 数目
from (select case flag
when 0 then '待审核'
when 1 then '学员收回'
when 2 then '上级退回'
else '审核通过'
end
as 审核状态
from a) b
group by b.审核状态
结果为:
审核状态 数目
审核通过 126453
待审核 215210
上级退回 502
学员收回 102
6、select * from a where dateadd(dd,7,apply_time)>getdate()