精华内容
下载资源
问答
  • 2018-11-21 15:04:34

    表单编号:C+yyyyMMdd+编号(001开始递增)

    如:C20181118001

    USE [数据库]
    GO
    /****** Object:  Trigger [dbo].[表名]    Script Date: 2018/11/21 14:55:31 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		chenyan
    -- Create date: 20180806
    -- Description:	form number
    -- =============================================
    Create TRIGGER [dbo].[Trigger名称]
       ON  [dbo].[表名] 
       AFTER INSERT
    AS 
    BEGIN
    if exists(select * from inserted where new_name is null)
    	begin
    
    		DECLARE @CODE varchar(50) --表单表号
    		DECLARE @exist_code varchar(50)
    
    		SET @exist_code='C'+convert(varchar(8),GETDATE(),112)
    		select @CODE=max(new_name) from [表名]  WITH (NOLOCK) where new_name like @exist_code + '%'
    
    		IF @CODE IS NULL
    			BEGIN
    				SET @CODE='C'+CONVERT(VARCHAR(8),GETDATE(),112)+'001'
    			END
             ELSE
    			BEGIN
    			    SET @CODE= 'C'+CONVERT(VARCHAR(8),GETDATE(),112)+RIGHT('000'+RTRIM(CONVERT(CHAR(3),CONVERT(INT,RIGHT(@CODE,3))+1)),3)
    			END
    
    		UPDATE [表名]
    		SET new_name=@CODE
    		where new_name is null
    	END
    END
    
    

     

    更多相关内容
  • python日期的递增问题

    2020-12-04 13:24:44
    问 题初始化开始时间 2016-07-01设置日期为31递增2016-07-012016-07-02...2016-07-31除了count = 0while (count < 31):count =count+1print '2016-07-',count还有没其他方式解决方案用 datetimedatetime 方便又強...

    问 题

    初始化开始时间 2016-07-01

    设置日期为31

    递增

    2016-07-01

    2016-07-02

    ...

    2016-07-31

    除了

    count = 0

    while (count < 31):

    count =count+1

    print '2016-07-',count

    还有没其他方式

    解决方案

    用 datetime

    datetime 方便又強大, 值得投資一下

    from datetime import date, timedelta

    def gen_dates(bdate, days):

    day = timedelta(days=1)

    for i in range(days):

    yield bdate + day*i

    if __name__ == '__main__':

    bdate = date(2016, 7, 1)

    for d in gen_dates(bdate, 31):

    print(d)

    結果:

    2016-07-01

    2016-07-02

    ...

    2016-07-30

    2016-07-31

    代碼說明:

    date(year, month, day) 可以很輕鬆地製造出日期

    timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks) 可以製造出時間間隔

    然後你可以用一般的代數來操作日期計算:

    >>> d = date(2016, 7, 1) # 產生 2016-07-01 這個日期

    >>> day = timedelta(days=1) # 產生 1 天的時間間隔

    >>> print(d+day) # 印出 2016-07-01 + 1 天

    2016-07-02

    扫一扫关注IT屋

    微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

    展开全文
  • 实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。 首先是带头结点的链表创建函数,由于博主是初学者,所以仅根据自己的理解写了一个函数,可能不够规范,但实现了想达到的...

    要求

    实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。

    首先是带头结点的链表创建函数,由于博主是初学者,所以仅根据自己的理解写了一个函数,可能不够规范,但实现了想达到的效果,会在以后改进。

    typedef struct LNode* List;
    struct LNode {
    	int data;   /*存储结点数据*/
    	List Next;   /*指向下一结点的指针*/
    };
    List creat(List L,int M)   /*L为头结点,M为链表长度*/
    {
    	List p1, p2;   /*定义两个临时变量,用于创建新节点*/
    	int n = 1;   /*用于控制有序链表的长度*/
    	p1 = p2 = (List)malloc(sizeof(struct LNode));
    	scanf_s("%d", &p1->data);   /*输入链表第一个结点的数据至p1*/
    	while (n < M)   /*输入M个数之后跳出循环*/
    	{
    		if (n == 1)L->Next= p1;   /*如果n为1,则为第一个结点,使头结点指向第一个结点*/
    		else p2->Next = p1;   /*n不为1,使p2的Next指向p1新开辟的空间,起链接作用*/
    		p2 = p1;
    		p1 = (List)malloc(sizeof(struct LNode));
    		scanf_s("%d", &p1->data);
    		n++;   /*再输入一个数后n++*/
    	}
    	p2->Next = p1;   /*此语句为链接倒数第二个结点和最后一个结点*/
    	p1->Next = NULL;   /*使最后一个结点的指针为NULL*/
    	return L;   /*返回头结点*/
    }
    

    接下来是插入函数,将要插入的数X与链表中的数一一比较,找出大于X的结点,将X插到该结点前。

    List Insert(List L, int X)
    {
    	List pre, tmp;
    	pre = L;
    	while (pre->Next != NULL)
    	{
    		if (pre->Next->data > X)break;
    		else pre = pre->Next;
    	}
    	tmp = (List)malloc(sizeof(struct LNode));
    	tmp->data = X;
    	tmp->Next = pre->Next;
    	pre->Next = tmp;
    	return L;
    }
    

    整体代码

    #include <stdio.h>
    #include <stdlib.h>
    typedef struct LNode* List;
    struct LNode {
    	int data;/*存储结点数据*/
    	List Next;/*指向下一结点的指针*/
    };
    int main()
    {
    	List creat(List  L, int M);
    	List Insert(List L, int X);
    	List L,loc;
    	L = (List)malloc(sizeof(struct LNode));
    	loc= (List)malloc(sizeof(struct LNode));
    	int M, X;
    	scanf_s("%d", &M);
    	L = creat(L,M);
    	scanf_s("%d", &X);
    	L = Insert(L, X);
    	loc = L->Next;/*loc为头结点指向的第一个带有数据的结点*/
    	while (loc->Next != NULL) 
    	{
    		printf("%d ", loc->data);
    		loc = loc->Next;
    	};
    	printf("%d", loc->data);/*由于最后一个结点的Next部分为NULL,所以不会输出,补一个输出函数进行输出*/
    	return 0;
    }
    
    List creat(List L,int M)   /*L为头结点,M为链表长度*/
    {
    	List p1, p2;   /*定义两个临时变量,用于创建新节点*/
    	int n = 1;   /*用于控制有序链表的长度*/
    	p1 = p2 = (List)malloc(sizeof(struct LNode));
    	scanf_s("%d", &p1->data);   /*输入链表第一个结点的数据至p1*/
    	while (n < M)   /*输入M个数之后跳出循环*/
    	{
    		if (n == 1)L->Next= p1;   /*如果n为1,则为第一个结点,使头结点指向第一个结点*/
    		else p2->Next = p1;   /*n不为1,使p2的Next指向p1新开辟的空间,起链接作用*/
    		p2 = p1;
    		p1 = (List)malloc(sizeof(struct LNode));
    		scanf_s("%d", &p1->data);
    		n++;   /*再输入一个数后n++*/
    	}
    	p2->Next = p1;   /*此语句为链接倒数第二个结点和最后一个结点*/
    	p1->Next = NULL;   /*使最后一个结点的指针为NULL*/
    	return L;   /*返回头结点*/
    }
    List Insert(List L, int X)
    {
    	List pre, tmp;
    	pre = L;
    	while (pre->Next != NULL)
    	{
    		if (pre->Next->data > X)break;
    		else pre = pre->Next;
    	}
    	tmp = (List)malloc(sizeof(struct LNode));
    	tmp->data = X;
    	tmp->Next = pre->Next;
    	pre->Next = tmp;
    	return L;
    }
    

    输出示例

    5
    1 2 3 5 6
    4
    1 2 3 4 5 6
    
    展开全文
  • WICSAndroidPresentationExample 2015 年 1 月 28 WICS Android 示例计数器。 这个简单的 Android 示例程序递增和重置视图中存在的计数器。
  • Redis生成唯一递增序列号~

    千次阅读 2021-04-03 08:18:15
    //补两位,因为最多两位数 String dayFormat = String.format("%1$02d", day); //补两位,因为小时最多两位数 String hourFormat = String.format("%1$02d", hour); return year + monthFormat + dayFormat + ...

    一、pom文件中

    org.springframework.boot

    spring-boot-starter-thymeleaf

    org.springframework.boot

    spring-boot-starter-web

    org.springframework.boot

    spring-boot-devtools

    runtime

    true

    org.springframework.boot

    spring-boot-starter-test

    test

    org.springframework.boot

    spring-boot-starter-data-redis

    redis.clients

    jedis

    2.9.0

    org.projectlombok

    lombok

    true

    junit

    junit

    org.springframework

    spring-test

    5.1.8.RELEASE

    compile

    org.springframework.boot

    spring-boot-test

    org.springframework.boot

    spring-boot-maven-plugin

    二、application.yml文件

    spring:

    application:

    name: redis-demo

    redis:

    host: 127.0.0.1

    port: 6379

    timeout: 3000 # 连接超时时间(毫秒)

    password: root1234

    三、RedisConfig文件,配置Redis

    package com.test.demo;

    import com.fasterxml.jackson.annotation.JsonAutoDetect;

    import com.fasterxml.jackson.annotation.PropertyAccessor;

    import com.fasterxml.jackson.databind.ObjectMapper;

    import org.springframework.context.annotation.Bean;

    import org.springframework.context.annotation.Configuration;

    import org.springframework.data.redis.connection.RedisConnectionFactory;

    import org.springframework.data.redis.core.RedisTemplate;

    import org.springframework.data.redis.core.StringRedisTemplate;

    import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;

    @Configuration

    public class RedisConfig {

    @Bean

    public RedisTemplateredisTemplate(RedisConnectionFactory factory) {

    StringRedisTemplate template = new StringRedisTemplate(factory);

    Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

    ObjectMapper objectMapper = new ObjectMapper();

    objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

    objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

    jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

    template.setValueSerializer(jackson2JsonRedisSerializer);

    template.afterPropertiesSet();

    return template;

    }

    }

    四、生成序列号类,PrimaryKeyService

    package com.test.demo.service;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.data.redis.core.RedisTemplate;

    import org.springframework.stereotype.Service;

    import java.util.Calendar;

    import java.util.Date;

    @Service

    public class PrimaryKeyService {

    @Autowired

    private RedisTemplate redisTemplate;

    /**

    * 获取年的后两位加上一年多少天+当前小时数作为前缀

    *

    * @param date

    * @return

    */

    public String getOrderIdPrefix(Date date) {

    Calendar calendar = Calendar.getInstance();

    calendar.setTime(date);

    int year = calendar.get(Calendar.YEAR);

    int month = calendar.get(Calendar.MONTH);

    int day = calendar.get(Calendar.DAY_OF_MONTH);

    int hour = calendar.get(Calendar.HOUR_OF_DAY);

    //补两位,因为一年最多三位数

    String monthFormat = String.format("%1$02d", month + 1);

    //补两位,因为日最多两位数

    String dayFormat = String.format("%1$02d", day);

    //补两位,因为小时最多两位数

    String hourFormat = String.format("%1$02d", hour);

    return year + monthFormat + dayFormat + hourFormat;

    }

    /**

    * 生成订单

    *

    * @param prefix

    * @return

    */

    public String orderId(String prefix) {

    String key = "DEMO_ORDER_ID_" + prefix;

    String orderId = null;

    try {

    Long increment = redisTemplate.opsForValue().increment(key, 1);

    //往前补6位

    orderId = prefix + String.format("%1$06d", increment);

    } catch (Exception e) {

    System.out.println("生成订单号失败");

    e.printStackTrace();

    }

    return orderId;

    }

    }

    五、测试类

    @Test

    public void testRedis(){

    long startMillis = System.currentTimeMillis();

    String orderIdPrefix = primaryKeyService.getOrderIdPrefix(new Date());

    // for (int i = 0; i < 10; i++) {

    String aLong = primaryKeyService.orderId(orderIdPrefix);

    System.out.println(aLong);

    // }

    long endMillis = System.currentTimeMillis();

    System.out.println("生成速度:"+(endMillis-startMillis)+",单位毫秒");

    }

    完毕!!!

    展开全文
  • 获取当前时间年月如:2018-01-15 00:00:002018-01-15 24:00:002.查询表中对应日期字段是否在当天时间段内3.若是在,则从0开始递增4.若是不在,则查找msgno最大数值,在此基础上+1②上代码Controller调service...
  • 现在产品需求:运单号生成规则调整:租户+当天日期为维度,生成的运单号 YD 为前缀,然后拼接上 yyMMdd,然后最少三位开始的递增序号,示例:YD210731001,超过3位自动向上加1。 public abstract class ...
  • 问题及代码:/*copyright (t) 2016,烟台大学计算机学院*All rights reserved.*文件名称:1.cpp*作者:常锐*完成日期:2016年9月22*版本号:v1.0*问题描述:判断单链表L是否递增(注:不考虑输入元素有重复的情况,...
  • 2019年3月20星期三 晴(声明:理论知识部分来自菜鸟教程网站!)今日学习内容:(上接《C语言基础知识学习14》中的指针的算术运算。)(4.1.1)递增一个指针我们喜欢在程序中使用指针代替数组,因为变量指针可以递增,而...
  • 直接上代码,只需要生成对应pay_trade_code表 selectById(systemTime)和saveOrUpdate(payTradeCode)方法 ...`serial_code` int(10) NOT NULL COMMENT '递增流水号', PRIMARY KEY (`system_time`) ) E...
  • EXCEL 如何同时递增日期跟星期?

    千次阅读 2021-01-26 11:14:57
    需求中可能存在在一个单元格中同时出现日期和星期,又想要递增,这个时候如果自己一个一个添加的话太过繁琐,无故添加很多的工作量。 这个时候我们可以这么做: 1、首先在需要输入数据的单元格中打开设置单元格格式...
  • 近年来,随着网络技术的益成熟、宽带的广泛应用,互联网的普及程度在飞速提高。中国互联网络信息中心(CNNIC)于7月20发布的第十四次中国互联网络发展状况统计报告指出:我国上网用户总数已经达到8700万,经常...
  • 递增顺序把二叉查找树进行重新排列 解答1: 分治算法(本质是中序遍历的递归实现) 代码: class Solution { public TreeNode increasingBST(TreeNode root) { TreeNode newRoot = root;
  • 生成编号规则为 HSJC-年月01、02、03一直累加如下图所示。 默认为:HSJC-yyyyMMdd01 在网上找了很多解决方案,个人觉得不太行,特地总结一下: 1、写一个递增编号的方法 /** * 轮次编号生成规则 * 1、如果当前...
  • 2022年1月12 递增的三元子序列 ????题目描述 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] ...
  • js 按月递增 算法

    千次阅读 2017-09-06 16:59:30
    最近业务上遇到一个问题:已知格式为 xxxx/xx/xx的起始日期和结束日期,要得到一个数组,数组中存放从起始日期开始到结束期间的若干个日期,每一个日期元素都比之前的日期大一个月。以上是问题。下面是代码:...
  • 递增单链表删除重复的元素 设单链表递增排好序的,删除其重复的元素。 特点:单链表,递增排列。 思路:一次性遍历链表,同时比较相邻的元素。当相邻元素不同时把元素重新放在链表里。 C++代码实现如下: #include &...
  • 最长单调递增子序列是一个很经典的问题,他所需要的就是要在整个序列中(序列一般来讲应该是无序的)寻找出一个最长的升序子序列,这个子序列中的所有元素都必须来自这个原序列,它们可以在原序列中是不相邻的,但是...
  • 接口维护一属性updateVerstion,该属性要求根据接收的数据生成单调递增的自增ID(要求为数字)。该接口请求量较大,需要考虑性能问题。。。 问题:每次接收批量数据入库,updateVerstion属性生...
  • 文章起笔:2021年11月1416:48:05 问题描述及示例 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l &...
  • 所以用字段递增赋值的方法来改数据。 1.递增赋值 set @r:=0; //设置初始值0 update studentset name=(@r:=@r+1) //更新student表name列 2.随机赋值 可以通过rand()生成0-1之间的小数,需要不同数据类型可以...
  • 题目:单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB难度:4描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0&lt;n&lt;20,表示有n个...
  • // 日期按、周、月 递增 public function completeChartData ( $data, $map ) { if(empty($map['start_date']) || empty($map['end_date'])){ return $data; } s...
  • java中自动递增和递减(i++)

    千次阅读 2018-08-26 13:27:58
    概念 前缀递增(++i):先执行运算,再生成值。 后缀递增(i++) : 先生成值,再执行运算。 示例 ...概念说的多了反而糊涂,不如直接看代码来的直接。... * @date: 2017年3月7 下午3:57:08 ...
  • 二分查找求解单调递增函数的解 题目(欧拉45题) Triangle, pentagonal, and hexagonal numbers are generated by the following formulae: Triangle Tn=n(n+1)/2 1, 3, 6, 10, 15, … Pentagonal Pn=n(3n−1)...
  • 时间:2021年1月24 题目链接 题目 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,...
  • js 实现时间递增,当前时间功能

    千次阅读 2019-02-26 15:40:47
     var isnDay = new Array("星期", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期");  var timestr = year + "年" + month + "月" + day + " "+h+":"+m+":"+s+" " + isnDay[date....
  • 7-4 最长递增子序列 (30 分) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,332
精华内容 15,332
关键字:

以日递增