zoukankan      html  css  js  c++  java
  • 实现SQL SERVER 下的PadLeft函数

    在.net中,可以使用String.PadLeft函数右对齐字符串,在左边用指定的Unicode字符填充一达到指定的总长度。
          例如 在做自动编号这样使用
         int nextID=da.GetMaxNum()+1;
         this.txtCode.Text = nextID.ToString().PadLeft(6, '0');

          今天客户想要在用户表里加个工号字段,这个字段是自动生成的,这个很容易实现。但是用户表里已经有300多条记录,需要编号,手工录入
    显然太麻烦,实施人员也会感觉枯燥乏味,我就想在数据库里有写段脚本自动编号,发现数据里没提供类似于右对齐的函数。

    于是左查右看,就写了这么个自定义函数

    --功能:右对齐的字符,在左边用指定的字符填充以达到指定的总长度。
    --@num:原始字符@paddingChar:填充字符 @totalWidth:结果字符串中的字符数
    --create by guoliang 2009/06/12

    create function PadLeft(@num varchar(16),@paddingChar char(1),@totalWidth int)

    returns varchar(16) as

    begin

    declare @curStr varchar(16)

    select @curStr = isnull(replicate(@paddingChar,@totalWidth - len(isnull(@num ,0))), '') + @num

    return @curStr

    end

    --测试函数:

    SELECT dbo.PadLeft('8', '0', 6)

    ----------------
    000008

    (所影响的行数为 1 行)

    然后用游标一行一行取出来,修改工号字段就ok了.

  • 相关阅读:
    策略模式浅谈
    J.U.C 系列之 Tools
    RCP 主题切换
    C#利用WebClient 两种方式下载文件
    淘宝联盟
    微信公众账号开发练习1成为开发者
    第一次使用mssql游标
    C#利用com操作excel释放进程
    免费空间主机屋试用体验
    Ajax简单聊天B/S
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2054109.html
Copyright © 2011-2022 走看看