-
在SQL触发器或存储过程中获取在程序登录的用户
实现一个AuditLog的功能,是B/S结构专案。每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪...
数据库操作教程 2022-09-23 17:23:26 -
sql获取分组排序后数据的脚本
先上一段代码,如下所示:复制代码代码如下:selectdistinct b.OrgID,b.CompanyID,b.AreaID,b.CustChannelID,b.CustID,b.SaleTotalQty,GETDATE()fromKDS400TelSurveyCustAll_Temp astmp1crossapply(selecttop10percent*fromKDS400TelSurveyCustAll_Temptmp2wheretmp1.OrgID=tmp2.OrgIDandtmp1.CompanyID=tmp2.CompanyIDandtmp1.AreaID=tmp2.AreaIDandtmp1.CustChannelID=tmp2.CustChannelIDandtmp2.CustChannelIDin(1027,1028)orderbytmp2.OrgID,tmp2.CompanyID,tmp2.AreaID,tmp2.AreaType,tmp2.CustChannelID)asb这段代码的意思是获取取每个经销商在每个县级城市中两类客户取各类客户的...
数据库操作教程 2022-09-23 17:19:48 -
探讨:如何查看和获取SQLServer实例名
一、查看實例名時可用1、服务—SQLServer(实例名),默认实例为(MSSQLSERVER)或在连接企业管理时-查看本地实例2、通過注冊表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSQLServer/InstalledInstance3、用命令sqlcmd/osqlsqlcmd-Lsqlcmd-Lcosql-L获取可用實例,以下舉一個例子,根據自己情況改复制代码代码如下:DECLARE@TableTABLE(instanceName sysnameNULL)[email protected]_cmdshell'sqlcmd-Lc'--LEFT(@@serverName,CHARINDEX('/',@@serverName+'/')-1)替代為本機名就行了,根據實例命名規則判斷SELECT*FROM@TableWHEREinstanceNameLIKE LEFT(@@serverName,CHARINDEX('/',@@serverName+'/')-1)+'%'二、--1...
数据库操作教程 2022-09-23 17:18:03 -
获取星期几的名称
udf_WeekDayName复制代码代码如下:CREATEFUNCTION[dbo].[udf_WeekDayName]()RETURNS@WeekDayNameTABLE([Id]INT,[WeekDayName]NVARCHAR(15))ASBEGININSERTINTO@WeekDayName([Id],[WeekDayName])VALUES(0,'Saturday'),(1,'Sunday'),(2,'Monday'),(3,'Tuesday'),(4,'Wednesday'),(5,'Thursday'),(6,'Friday')RETURNENDudf_WeekDayNameOfDate复制代码代码如下:CREATEFUNCTION[dbo]...
数据库操作教程 2022-09-23 17:17:00 -
SQL语句分组获取记录的第一条数据的方法
使用Northwind数据库首先查询Employees表查询结果:city列里面只有5个城市使用ROW_NUMBER()OVER(PARTITIONBYCOL1ORDERBYCOL2)先进行分组注:根据COL1分组,在分组内部根据COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).sql语句为:selectEmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUMBER()over(partitionbyCityorderbyEmployeeID)asnew_index fromEmployees执行结果图:可以看到是按照City分组,EmployeeID排序。select出分组中的第一条记录执行语句:select*from(selectEmployeeID,LastName,FirstName,Title,TitleOfCourtesy,City,ROW_NUMBER()over(partitionbyCityorderbyEmployeeID)asnew_index&nbs...
数据库操作教程 2022-09-23 17:15:37 -
获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用
复制代码代码如下:SELECTABS(DATEDIFF(dd,EndDate,BeginDate))FROMdbo.WorkingPlan其中,WorkingPlan为一张表,EndDate和BeginDate为WorkingPlan表中的结束时间和开始时间如果哪里有不正确的地方,欢迎批评指正,共同进步。...
数据库操作教程 2022-09-23 17:06:11 -
SQLServer误区30日谈第22天资源调控器可以调控IO
误区#22:资源调控器可以调控IO错误 资源调控器无法调控IO,希望下一个版本的SQLServer支持调控IO,调控IO对于对于减少对于大表的scan操作带来的性能影响很有帮助。 下面列表中的功能资源调控器同样也无法完成:调控BufferPool的内存,内存调控器仅仅可以调控执行计划所占的内存,但对于BufferPool中缓存的数据页是无法调控的可以对多个实例进行当作一个逻辑实体进行资源调控...
数据库操作教程 2022-09-23 17:04:02 -
MSSQLServer获取十二个月份的英文缩写
如果使用DATENAME()函数是取得月份的英文全称,但报表需要,只需显示月份名称缩写即可。十二个月份的英文缩写,只有五月份是全称与缩写一样,其它月份的缩写仅是取前三位字母...
数据库操作教程 2022-09-23 17:03:11 -
MSSQL数据库获取TEXT字段的内容长度
SQLServer数据库如何获取TEXT字段的内容长度的方法,是通过DATALENGTH函数来实现的,接下来我们就通过DATALENGTH函数的语法及使用实例来了解一下这部分内容。DATALENGTH用来返回任何表达式所占用的字节数...
数据库操作教程 2022-09-23 17:02:38 -
sqlserver获取各种形式的时间
复制代码代码如下:SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/06SelectCONVERT(varchar(100),GETDATE(),2):06.05...
数据库操作教程 2022-09-23 17:01:43 -
用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 -
sqlServer获取汉字字串的拼音声母
复制代码代码如下:CREATEfunctionfGetPy(@strvarchar(500)='')returnsvarchar(500)asbegindeclare@strlenint,@returnvarchar(500),@iiintdeclare@cnchar(1),@chnnchar(1)select@strlen=len(@str),@return='',@ii=0set@ii=0while@ii<@strlenbeginselect@ii=@ii+1,@chn=substring(@str,@ii,1)if@chn>='吖'select@c=char(count(*)+63)from(selecttop27*from(selectchn='吖'unionallselect'八'unionallselect'嚓'unionallselect'咑'unionallselect'妸'unionallselect'发'unionallselect'旮'unionallselect'铪'unionallselect'丌'--becausehaveno'i'unional...
数据库操作教程 2022-09-23 16:54:31