首页 > 数据库 >SqlServer生成字符串主键

SqlServer生成字符串主键

时间:2023-11-09 20:44:20浏览次数:32  
标签:set SqlServer 50 filedName nvarchar Ret 字符串 currday 主键

ALTER PROCEDURE [dbo].[CreatePrimaryNo] ( @tblName nvarchar(50), @filedName nvarchar(50), @prefix nvarchar(50), @primaryNo nvarchar(50) out )  AS BEGIN declare @Ret nvarchar(4000) declare @currday nvarchar(10) select @currday = convert(nvarchar(8),GETDATE(),112) ; declare @strsql nvarchar(4000); set @Ret = '1'; if(@prefix!='') begin set @strsql= 'select @ret= convert(nvarchar(50),'''+@prefix+''')+ convert(nvarchar(10),'''+@currday +''')+ Right(100000000+IsNull(Right(Max('+@filedName+'),8),0)+1,8)   From '+@tblName+' where '+@filedName+' like '''+@prefix+@currday+'%'''  end else begin set @strsql= 'select @ret= convert(nvarchar(10),'''+@currday +''')+Right(100000000+IsNull(Right(Max('+@filedName+'),8),0)+1,8)   From '+@tblName+' where '+@filedName+' like '''+@currday+'%'''  end exec sp_executesql @strsql, N'@Ret nvarchar(50) out', @Ret out set @primaryNo = @Ret; END

标签:set,SqlServer,50,filedName,nvarchar,Ret,字符串,currday,主键
From: https://www.cnblogs.com/leon1128/p/17822777.html

相关文章

  • mysql字符串拼接的4种方式总结
    前言第一种:第二种:第三种:第四种(运算,只对数字有效):附:MySQLgroup_concat()详解总结 前言总是记不住字符串拼接,每次都要百度去搜索,所以在这里记录一下,好方便后续的查找,如有错误和问题可以提出,谢谢。字符串拼接分为几种方式,在这里会一一举例写出:第一种:mysql自带语法C......
  • 牛客[编程题] HJ29 字符串加解密
    HJ29 字符串加解密中等  通过率:25.47%  时间限制:1秒  空间限制:32M 描述对输入的字符串进行加解密,并输出。加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数......
  • redis 类型Hash 中value字符串存储空间大小
    在Redis中,Hash数据类型中的value是字符串,存储空间大小取决于存储在Hash中的每个value字符串的长度。Redis内部并不会额外存储每个value的元信息,因此存储空间大小主要由存储的字符串长度决定。每个字符串值的存储空间大小取决于以下因素:字符串长度:字符串的长度是主要的决定因素。较......
  • 《java解惑》--字符串之谜
    1.字符拼接:问题:程序员几乎在每天编程中都遇到和处理字符串拼接的问题,但是是否对其了解的足够深入,且看下面的程序:publicstaticvoidmain(String[]args){"H"+"a");'H'+'a');}很多人觉得输出结果应是:HaHa,但是真实的程序运行结果是:Ha169。原因:程序第一......
  • 最长平衡子字符串
    题目概述:给定一字符串s(只由字符0和1组成),返回其平衡子串的最长的长度。所谓平衡子串就是指在该字串中所有的0都在1之前,且0的数量和1的数量相等解题思路:由于数据范围比较小,所以直接暴力枚举所有子串,并判断是否为平衡子串更新答案即可。时间复杂度:\(O(n^4)\)代码:classSolution......
  • 9.找到字符串中所有字母异位词
    题目概述:给定字符串s,p,找到s字符串子串中所有p的异位词,返回该字串的起始位置。异位词:由相同字母组成。解题思路:由于其给定了p,所以枚举s中和p长度相同的子串,并判断是否为p的异位词(将p和子串都进行排序处理,再使用equals判断)。需要注意的是java中的substring(i,j)方法,获取的是[i,j)......
  • SqlServer开启远程连接配置
    第一步:打开配置管理器第二步:开启端口监听第三步:设置所有端口均使用1433(或者其他)......
  • 高版本SqlServer数据库还原到低版本数据库
    需求:SqlServer2017还原到SqlServer2008数据库直接备份还原与拷贝文件还原均无法成功解决方案:1、修改兼容性,再备份数据库,还原(推荐)2、导出脚本、导入(即数据同步),大数据量不建议使用该方法......
  • 牛客[编程题] HJ26 字符串排序
    HJ26 字符串排序  中等  通过率:39.52%  时间限制:1秒  空间限制:32M 描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。如,输入:Type输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入......
  • 判断一个字符串是否为回文字符串
    #include<stdio.h>#include<stdbool.h>#include<string.h>boolis_palindrome(char*str){intlength=strlen(str);for(inti=0,j=length-1;i<j;i++,j--){if(str[i]!=str[j]){returnfalse;}}retu......