sql server 按照日期自动生成单据编号的函数

一、sql server 按照日期自动生成单据编号的函数,格式为##08080001,##表示打头的单据字符,然后是年月和流水编号。
二、传入的参数为单据的打头字符和生成单据的日期
三、一般的调用格式为dbo.GetCostBillID('HP',getdate())

--按单号和年月获取单据的编号
CREATE FUNCTION GetCostBillID(@headStr nvarchar(10),@date datetime)
RETURNS nvarchar(50)
BEGIN 
declare  @oid2 nvarchar(50)
declare @oid nvarchar(50)
declare @month nvarchar(2)
declare @year nvarchar(2)
declare @ym nvarchar(4)
set @month=month(@date)
if len(@month)=1set @month='0'+@month --使月为两位长
set @year=right(convert(nvarchar,year(@date)),2)
set @ym=@year+@month --组成年月字符--格式CB0808001
if exists(select * from CostBill)
beginselect  top 1 @oid2=CostBillID from CostBill order by id desc --获取最后一条的单据编号,一定要有id,并且自动生成的,倒排序
end
else 
beginset @oid2=@headStr+@ym+'0000' --没有记录是默认为今天
end--订单不是本月的,重新开始一个新的订单流水号
if convert(nvarchar,left(@oid2,6))<>@headStr+@ym
begin
--用本月的年月号开始set @oid2=@headStr+@ym+'0000'
enddeclare @str nvarchar(50) --临时单号set @str=convert(nvarchar,(convert(int,right(@oid2,4))+1)) --订单号加一
while (4-len(@str)>0)
beginset @str='0'+@str    
end
set @oid2=@headStr+@ym+@str
--print @oid2--如果该订单好已经存在,则重新获取
while exists(select * from CostBill where CostBillID=@oid2)
beginset @str=convert(nvarchar,(convert(int,right(@oid2,4))+1)) --订单号加一while (4-len(@str)>0)beginset @str='0'+@str    endset @oid2=@headStr+@ym+@str
--    print @oid2
endset @oid=convert(nvarchar,@oid2)
--print 'HP'+convert(nvarchar,year(getdate()))+convert(nvarchar,month(getdate()))+@strRETURN @oid
END

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于linux下制作静态库

本小测试程序是从<<linux程序设计第4版>>摘录&#xff1b; 直接入正正题&#xff1a; 我们要创建一个表态库&#xff0c;libfoo.a 所用文件: fred.c bill.c 其中fred.c代码如下&#xff1a; #include <stdio.h> void fred(int arg) { printf("f…

JQuery Datatables 实现对某一列的数据合计汇总

有两种实现方式&#xff0c;举例说明 第一种、JS代码如下&#xff1a; var table;table $(#example).DataTable({dom: Bfrtip,scrollY: true,scrollX: true,scrollCollapse: true,colReorder: true,select: true,stateSave: true,//info: false,//关闭左下角关于行数和选中的…

puppet语法学习

先讲讲shell 与puppet的不同。shell 脚本是过程式的&#xff0c;里面描述的是命令执行的过程&#xff0c;shell 通常很短&#xff0c;可以很快写出来&#xff0c;但是很快又会被抛弃&#xff0c;它常常依赖于特定操作系统环境。puppet 语言是结果式的&#xff0c;使用者将自己想…

JQuery DataTables改变行或列的背景或字体颜色

var table;table $(#example).DataTable({dom: Bfrtip,scrollY: true,scrollX: true,scrollCollapse: true,colReorder: true,select: true,stateSave: true,//info: false,//关闭左下角关于行数和选中的提示//filter: false,//关闭搜索//paging: false,//关闭分页pagingType:…

Autofac在Asp.net MVC中在 Areas拆分到不同DLL下的注入失败问题

废话不多说&#xff0c;直接上代码 public static class MvcContainer{public static IContainer Instance;public static System.Web.Mvc.IDependencyResolver Init(Func<ContainerBuilder, ContainerBuilder> func null){var builder new ContainerBuilder();//新建容…

linux学习笔记-chkconfig

功能说明&#xff1a;检查、设定系统的各种服务。语法&#xff1a;chkconfig [--add][--del][--list][系统服务]或chkconfig [--level<等级代号>][系统服务][on/off/reset]补充说明:这个是redhat公司遵循gpl规则所开发的程序,它可以查询操作系统在每一个执行等级(runleve…

JQuery Datatables 样式Style

用了这么久的datatables&#xff0c;才发现datatables有具体的样式和详细说明&#xff0c;还可以自定义配置查看。 点击这里进入datatables官网具体样式查看 一、所有的class属性及示例HTML代码写法&#xff1a; 二、 表格内样式(字体居中、居左、居右等)&#xff0c;targets代…

[笔记]极大极小过程的alpha-beta剪枝不可与记忆化搜索一起使用

今天做SGU 423&#xff0c;WA得我眼泪汪汪。后来发现原来这个问题很早就被何牛提到过&#xff1a; 极大极小过程的alpha-beta剪枝不可与记忆化搜索一起使用。 原因是这样的&#xff1a; 在一个博弈图中&#xff0c;可能存在这样的情况&#xff1a;一个状态有不止一个前继。 比如…

[转载] AUML——Schedules and Events

来源&#xff1a;http://www.auml.org/ Schedules and Events Class and Sequence Diagrams specifications Plan for Work and Milestones for the Class and Sequence Diagrams specifications: May 2003 - Initial draft of language specifications for Class and Sequenc…

JQuery Datatables 获取实例及如何进行全局设置

可以使用以下三种方法获得一个新的Datatables API实例&#xff1a; $( selector ).DataTable();$( selector ).dataTable().api();new $.fn.dataTable.Api( selector ); 可以通过以下方法进行 Datatables的全局设置 //将以下JS代码单据引入后&#xff0c;默认之后所有的datatab…

Juniper SA SSL ×××配置宁盾DKEY短信动态密码步骤

1. 方案简介 传统的双因子认证技术是基于硬件令牌方式&#xff0c;IT管理员会为每个用户分配分发一只令牌&#xff0c;用户登录时输入令牌上显示的6位随即数字&#xff0c;即可完成登录是目前最为常用的强身份认证方案&#xff0c;它最大优点在于认证响应度高&#xff0c;然而采…

JQuery Datatables Ajax dataSrc的使用

Datatables在默认Ajax的情况下&#xff0c;dataSrc会去读取名称为data属性的数组 $(#myTable).DataTable( {ajax: {url: /api/myData,dataSrc: },columns: [ ... ] } );// 或者使用标准的写法&#xff0c;指定在data中去找&#xff0c;效果和上面写法一样 $(#myTable).DataTabl…

JQuery Datatables 数据操作

DataTables有4种内置数据操作&#xff0c;每一个都可能使用正交&#xff08;独立&#xff09;数据源。这四种操作如下&#xff0c;重点看前三个。 display(string)//用于显示的数据 sort(string)//用于排序的数据 filter(string)//用于过滤的数据 type(string)//类型检测数据 比…

apache 添加下载文件头

AddType application/octet-stream .rar #windowsAddType application/octet-stream .apk #androidAddType application/octet-stream .ipa #苹果

JQuery Datatables单元格内显示数据太长,截取部分显示功能

//初始化表格 var oTable $("#example").DataTable({ajax: {url: "dataList.action",data: {args1: "我是固定传参的值&#xff0c;在服务器接收参数[args1]"}},columns: [{data: "content",render: function(data, type, row, meta)…

JQuery Datatables辅助函数

数字辅助函数。number辅助函数提供了轻松格式化数字的功能。处理数字时&#xff0c;您可能经常希望添加格式&#xff0c;前缀和后缀字符&#xff08;比如货币标示符&#xff09;&#xff0c;使用千位分隔符并制定数字的精度。使用number辅助函数可以做到这些。 数字辅助函数包含…

多表替代密码

多表替代密码转载于:https://www.cnblogs.com/LoveFishC/archive/2012/08/03/3846672.html

SqlServer用SQL语句将查出的数据直接插入到另一个张的表中

示例代码&#xff1a; INSERT INTO dbo.Barcode( BarNo ,FiscalYear ,FiscalMonth ,BarType ,ItemId ,ItemName ,WhId ,WhName ,CurrentWhId ,CurrentWhName ,ItemQty ,LotNo ,StUserId ,StUserName ,StDatetime ,RKVou ,CKVou ,DeprecatedUserId ,DeprecatedUserName ,Depre…

Oracle-物化视图

Oracle-物化视图 介绍&#xff1a;oracle物化视图是包括一个查询结果的数据库对象&#xff0c;它是远程数据的的本地副本&#xff0c;或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据&#xff0c;也可以称为快照。对于复制&#xff0c;物化视图允许你在本地…

windows7 删除hiberfil.sys文件的方法

在cmd模式下输入命令“powercfg -h off”—回车 如果想还原,同样运行那条命令,把off改成on.就行了 此设置将彻底禁用休眠。转载于:https://blog.51cto.com/hujizhou/954329