SQLSERVER自定义排序展示处理方法

本文介绍了在SQLSERVER中如何实现自定义排序,避免了通过多次视图转换的复杂过程。通过示例代码展示了如何使用ORDER BY语句结合ISNULL处理空值,使字段按照特定顺序排列,如'组箱', '模检', ... '入库', '未生产'。这种方法提高了排序效率,解决了空值排序问题。" 130284648,7337247,技术写作:通往财富自由的金钥匙,"['技术写作', 'AI', '机器学习', '大数据', '财富自由']
摘要由CSDN通过智能技术生成

sqlserver中的order by 功能大部分人只会使用时间或者字段进行排序,其效率较为低下
最近有提出需求需要按照某个工序进行排列(特定工序),一开始思考是想通过两次视图,第一次将某个工序替换成数字,第二次在通过数字进行排列,但是思考后发现该方法较为负责且费时,在通过检索度娘后发现,sqlserver是含有自定义排序功能的
以下为代码部分:

select
        TOP 100 PERCENT  p.序号,
        p.内部编号,
        p.工序,
        p.制表日期 as 最新报工时间,
        p.措施,
        铸件工艺单细则.排箱号,
        v.计划时间 as 造型计划时间,
        p.审批时间 as 结构评审完成时间
    from
        ( 
        select
            序号,
            审批时间,
            内部编号5 as 内部编号,
            isnull(x.工序,
            '未生产') as 工序,
            x.制表日期,
            措施38 as 措施
        from
            新模型结构评审表
        left join
            在制工序2 x
                on x.内部编号=substring(内部编号5,
            0,
            convert(int,
            replace(isnull(convert(int,
            charindex('/',
            内部编号5)),
            0),
            0,
            datalength(内部编号5))))
        where
           
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值