-
SQLServer自动生成日期加数字的序列号
USEMASTERGOIFEXISTS(SELECT*FROMdbo.sysdatabasesWHEREname='my_test_database')DROPDATABASE[my_test_database]GOCREATEDATABASE[my_test_database]GOUSE[my_test_database]GOCREATETABLE[my_table]([my_id]VARCHAR(16))GO--存储过程开始:CREATEPROCEDUREget_new_id@NEW_IDVARCHAR(16)OUTPUTASBEGINDECLARE@DATEDATETIMEDECLARE@YYYYVARCHAR(4)DECLARE@MMVARCHAR(2)DECLARE@DDVARCHAR(2)--保存取得的当前时间:SET@DATE=GETDATE()SET@YYYY=DATEPART(yyyy,@DATE)SET@MM=DATEPART(mm,@DATE)SET@DD=DATEPART(dd,@DATE)--位数不够的前面补0SET@YYYY=REPLICATE('0',4-...
数据库操作教程 2022-09-23 17:00:03 -
MSSQL计算两个日期相差的工作天数的语句
复制代码代码如下:ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo]...
数据库操作教程 2022-09-23 16:56:19 -
用sql获取某字符串中的数字部分的语句
复制代码代码如下:createfunctiondbo.F_Get_No(@Novarchar(100))RETURNSbigintASBEGINWHILEPATINDEX('%[^0-9]%',@No)>0BEGINSET@No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'')--删掉一个非数字的字符,循环结束,剩余的为数字部分ENDRETURNCONVERT(bigint,@No)END此函数可以返回某字符串中的数字部分PATINDEX函数返回所查内容在字符串中第一次出现的索引STUFF函数删除指定长度的字符并在指定的起始点插入另一组字符。selectF_Get_No('sdsdf2334sfsd234')返回'2334234'注明:此方法可以解决查询某字段中数字部分为固定值的记录,字母部分为定值类似...
数据库操作教程 2022-09-23 16:56:07 -
SQL货币数字转英文字符语句
复制代码代码如下:AlterFunctionUDF_Util_ConvertCurrencyToEnglish(@MoneyNumeric(15,2),@Unitvarchar(10)='BAHT')ReturnsVarchar(400)As/*///<summary>///Convertmoneytoenglish///</summary>///<paramname="@Money">e.g...
数据库操作教程 2022-09-23 16:54:17 -
根据日期知道当天是星期几的手动计算方法
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数...
数据库操作教程 2022-09-23 16:51:34 -
oracle重置序列从指定数字开始的方法详解
重置oracle序列从指定数字开始复制代码代码如下:declarennumber(10);v_startnumnumber(10):=10000001;--从多少开始v_stepnumber(10):=1;--步进tsqlvarchar2(200);v_seqnamevarchar2(200):='MIP_JF_SEQUENCE';--序列名beginexecuteimmediate'select'||v_seqname||'.nextvalfromdual'inton;n:=v_startnum-n-v_step;--从10000001开始tsql:='altersequence'||v_seqname||'incrementby'||n;executeimmediatetsql;executeimmediate'select'||v_seqname||'.nextvalfromdual'inton;tsql:='altersequence'||v_seqname||'incrementby'||v_step;executeimmediatetsql;end; 不通过删除重...
数据库操作教程 2022-09-23 16:49:52 -
SQLSERVER根据地图经纬度计算距离差示例
SQLSERVER根据地图经纬度计算距离的公式复制代码代码如下:go--创建经纬度距离计算函数CREATEFUNCTION[dbo].[fnGetDistance]--LatBegin开始经度--LngBegin开始维度(@LatBeginREAL,@LngBeginREAL,@LatEndREAL,@LngEndREAL)RETURNSFLOATASBEGIN--距离(千米)DECLARE@DistanceREALDECLARE@EARTH_RADIUSREALSET@EARTH_RADIUS=6378...
数据库操作教程 2022-09-23 16:46:55 -
sqlserver使用公用表表达式CTE通过递归方式编写通用函数自动生成连续数字和日期
问题:在数据库脚本开发中,有时需要生成一堆连续数字或者日期,例如yearlyreport就需要连续数字做年份,例如dailyreport就需要生成一定时间范围内的每一天日期。而自带的系统表master..spt_values存在一定的局限性,只是从0到2047(验证脚本:select*frommaster..spt_valuesbwhereb.type='P'),也不能直接生成连续日期...
数据库操作教程 2022-09-23 16:42:36 -
SqlServer生成连续数字根据指定的数字操作
需求是使用sqlserver根据指定的数字和表生成一串连续的数字,类似于oracle中ROWNUM的功能,具体实现如下:一、Oracle使用ROWNUM实现方式SELECTROWNUMnumber_listFROM表名WHEREROWNUM<=10;二、SqlServer实现上述功能的三种方式1.使用MASTER…spt_values方式SELECTnumberFROMMASTER..spt_valuesWHERETYPE='P'ANDnumber>0ANDnumber<=10;spt_values是master数据库中的一张系统表,number的数值范围是0~20472.使用String_Split函数实现selectrow_number()over(orderby(select1))fromString_Split(space(6),'')String_Split是SQLServer2016的新函数,这个方法只对2016及后续版本有效。(我的数据库版本是2008,此方式未验证)3.使用top+ROW_NUMBER()OVER方式实现SELECTTOP10ROW_N...
数据库操作教程 2022-09-23 16:41:57 -
sql去零函数datagridview中数字类型常出现后面的零不能去掉
复制代码代码如下:declare@bldecimal(10,6),@numint,@num1int,@strchar(20),@str1char(20),@str2char(20),@str3char(20),@zxint,@zx1intset@bl=1110.10000set@str1=ltrim(REVERSE(cast(@blaschar(30))))---颠倒print@str1set@zx1=cast(@blasint)set@str2=cast(@zx1aschar(10))--取整数部分print@zx1set@num=len(@str2)print@numset@num1=charindex('...
数据库操作教程 2022-09-23 16:41:39 -
数字货币概念股震荡走弱,多股跌超4%
9月23日,数字货币概念股震荡走弱,东信和平、京北方跌超7%,海联金汇、楚天龙、天喻信息、宇信科技、古鳌科技等跌超4%。...
区块链 2022-09-23 14:45:26 -
周鸿祎发布内部信:360政企集团更名360数字安全集团
【网易科技9月22日报道】360集团创始人周鸿祎发布内部信,宣布360要握拳聚力,战略升级。360政企集团更名360数字安全集团,将围绕“看见+处置”的核心能力,着力解决数字文明时代的新问题...
智能设备 2022-09-22 18:14:35