-
根据多条件查询临时表想得到不同结果集的方法
当我写下如下sql语句时,我得到了输入@c参数时想得到的结果集。select*[email protected](selectidfromtbwheref=@c)但如果有@a,@b,@c,而它们分别想从@tb中得到不同的结果集,例如复制代码代码如下:if@aisnotnullbegin--得到@a想得到的endif@bisnotnullbegin--得到@b想得到的endif@cisnotnullbegin--得到@c想得到的end这样做好像没什么问题,但如果@a和@b是一起的,甚至是@a,@b,@c,@d,@e,@f等等N多种条件组合,这样就不好办了...
数据库操作教程 2022-09-23 16:53:56 -
sql时间函数整理的比较全了
1.当前系统日期、时间selectgetdate()2.dateadd在向指定日期加上一段时间的基础上,返回新的datetime值例如:向日期加上2天selectdateadd(day,2,'2004-10-15')--返回:2004-10-1700:00:00.000例如:查询目前时间最近三天的内容降序排列select*fromtablewheretimebetweendateadd(day,-3,getdate())andgetdate()orderbyc_Iddesc3.datediff返回跨两个指定日期的日期和时间边界数。selectdatediff(day,'2004-09-01','2004-09-18')--返回:174.datepart返回代表指定日期的指定日期部分的整数...
数据库操作教程 2022-09-23 16:53:54 -
可以获取客户端的IP地址的sql语句
--1:得到客户端的IP地址/*************IP**************/declare@ipvarchar(20),@hstvarchar(20),@sqlvarchar(100)declare@strvarchar(100)set@str='PING'+Host_Name()createtable#tmp(aavarchar(200))insert#tmpexecmaster....
数据库操作教程 2022-09-23 16:53:35 -
SQL根据汉字获取全拼的代码
复制代码代码如下:/*SQL根据汉字获取全拼(有些字还没有添加上去,请自已加上去,涂聚文注)生成所有读音临时表根据Chinese_PRC_CS_AS_KS_WS排序获取读音[email protected]其它功能請商討,我是在繁體的環境測試,簡體會更方便一些。*/ifexists(select1fromsysobjectswherename='f_GetPy'andxtype='FN')dropfunctionf_GetPygoCREATEfunctionf_GetPy(@strvarchar(100))returnsvarchar(8000)asbegindeclare@revarchar(8000)--生成临时表[email protected]@geovindutable(chrnchar(2)collateChinese_PRC_CS_AS_KS_WS,pynvarchar(20))insertinto@geovinduselectN'吖','a'insertinto@geovindu...
数据库操作教程 2022-09-23 16:52:59 -
sqlserver获取系统时间的方法
SqlServer中一个非常强大的日期格式化函数:获得当前系统时间,GETDATE():2008年01月08日星期二14:59SelectCONVERT(varchar(100),GETDATE(),0):0516200810:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/08SelectCONVERT(varchar(100),GETDATE(),2):08.05...
数据库操作教程 2022-09-23 16:50:30 -
SQLServer2008到底需要使用哪些端口?
下面就来介绍下SQLServer2008中使用的端口有哪些: 首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口...
数据库操作教程 2022-09-23 16:49:33 -
编写SQL需要注意的细节Checklist总结
复制代码代码如下:/*--注意:准备数据(可略过,非常耗时)CREATETABLECHECK1_T1(IDINT,C1CHAR(8000))CREATETABLECHECK1_T2(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK1_T1SELECT@I,'C1'INSERTINTOCHECK1_T2SELECT10000+@I,'C1'SET@I=@I+1ENDCREATETABLECHECK2_T1(IDINT,C1CHAR(8000))DECLARE@IINTSET@I=1WHILE@I<=10000BEGININSERTINTOCHECK2_T1SELECT@I,'C1'SET@I=@I+1ENDINSERTINTOCHECK2_T1VALUES(10001,'C2')INSERTINTOCHECK2_T1VALUES(10002,'C1')CREATETABLECHECK3_T1(IDINT,C1CHAR(7000))CREATETABLECHECK3_T2(IDINT...
数据库操作教程 2022-09-23 16:48:48 -
sql函数实现去除字符串中的相同的字符串
复制代码代码如下:---去除字符串中重復的值函數createfunctionStringRemove(@strnvarchar(2000))returnsvarchar(2000)asbegindeclare@resultnvarchar(2000),@tempnvarchar(1000)set@result=''set@temp=''while(charindex(',',@str)<>0)beginset@temp=substring(@str,1,charindex(',',@str))if(charindex(@temp,@result)<=0)set@result=@result+@tempset@str=stuff(@str,1,charindex(',',@str),'')endreturn@resultendGO--('塗聚文','塗','塗聚文','1','23','1')--測試selectdbo.StringRemove('塗聚文,塗,塗聚文,1,23,1')...
数据库操作教程 2022-09-23 16:47:56 -
SQL中Group分组获取TopN方法实现可首选row_number
有产品表,包含id,name,city,addtime四个字段,因报表需要按城市分组,统计每个城市的最新10个产品,便向该表中插入了100万数据,做了如下系列测试:复制代码代码如下:CREATETABLE[dbo].[products]([id][int]IDENTITY(1,1)NOTNULL,[name][nvarchar](50)NULL,[addtime][datetime]NULL,[city][nvarchar](10)NULL,CONSTRAINT[PK_products]PRIMARYKEYCLUSTERED([id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]1、采用row_number方法,执行5次,平均下来8秒左右,速度最快。复制代码代码如下:selectno,id,name,cityfrom(selectno=row_number()over(pa...
数据库操作教程 2022-09-23 16:47:47 -
获取MSSQL表结构中字段的备注、主键等信息的sql
1、MSSQL2000复制代码代码如下:SELECT表名=casewhena.colorder=1thend...
数据库操作教程 2022-09-23 16:46:40 -
sql将时间类型转换为字符串类型汇总
日期时间转字符串复制代码代码如下:SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/06SelectCONVERT(varchar(100),GETDATE(),2):06.05...
数据库操作教程 2022-09-23 16:46:28 -
sqlserver数据库获取数据库信息
MSSQLSERVER获取当前数据库文件等信息,适用于多个版本:复制代码代码如下:SELECTdbf.file_idASFileID ,dbf...
数据库操作教程 2022-09-23 16:46:00