日期:2014-05-16  浏览次数:20484 次

数据库操作语句记录
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()