易截截图软件、单文件、免安装、纯绿色、仅160KB

用SQL生成流水号

用SQL生成流水号
转:韦江涛    发表于2010年02月03日 09:38 阅读(4) 评论(0)
 
 
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn_FillNumberWithZero]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn_FillNumberWithZero]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn_FormatDate]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn_FormatDate]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn_GetNewFlowNumber]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn_GetNewFlowNumber]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fn_GetNowDate]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[fn_GetNowDate]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
/*
生成流水号后面几位数字字符的相关函数
不足位数在左边用0填充
*/
CREATE FUNCTION dbo.fn_FillNumberWithZero
(
--填充的数字
@num int,
--总位数
@len int
)
RETURNS varchar(50) AS
BEGIN
--如果传入的流水号大于总的长度,那么直接返回流水号字符串格式
if(len(Convert(varchar(50),@num))>@len)
   return Convert(varchar(50),@num)
ELSE
   BEGIN
    --需要填充0的位数
    declare @NeedFillLen int
    set @NeedFillLen=@Len-len(Convert(varchar(50),@num))
    --获取需要填充的0的字符串
    declare @i int
    set @i=0
    declare @temp varchar(50)
    set @temp=N''
    while @i<@NeedFillLen
     BEGIN
      SET @temp=@temp+'0'
      SET @i=@i+1
     END
    --返回组后的字符串
    return @temp+Convert(varchar(50),@num)
   END
return ''
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO


相关文档:

SQL Server 数据库管理常用的SQL和T SQL语句

1. 查看数据库的版本 
select @@version 
2. 查看数据库所在机器操作系统参数 
exec master..xp_msver 
3. 查看数据库启动的参数 
sp_configure 
4. 查看数据库启动时间 
select convert(varchar(30),login_time,120) from master ......

SQL SERVER使用链接服务器

1、在另一台机器上建立独立的数据库服务器,作为链接目标
2、本地数据库服务器上添加“链接服务器”:
名字:随便取一个名字
服务器类型:选择数据源:Microsoft OLE DB Provider for SQL Server
数据源:写别名(在客户端网络实用工具中设置)
选中RPC和RPC输出 ......

PL/SQL 学习笔记2

变量声明
Syntax:
identifier [CONSTANT] datatype [NOT NULL]   [:= | DEFAULT expr];
SQL> declare
2 a date;
3 b number(20) not null :=100;
4 c varchar2(10);
5 d constant number(20) default 1000;
6 begin
7 null;
8 end;
9 /
PL/SQL procedure successful ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号