sql 使用存储过程传递列名或表名作为参数
摘要:在使用存储过程时,若动态的传递表名或者是列名时,可以考虑使用动态sql。代码如下; alterprocedureProc_UpdateDatetimeCounter@businessNumnvarchar(200),--业务号@columnnvarchar(200),--列名@valuedatetime--值asdeclare@sqlnvarchar(max)set@sql=N'updatecounterset'+quotename(@column)+'=@value1wherebusinessNum=@businessNum1'execsp_executesq
阅读全文
posted @
2011-09-23 14:04
wtq
阅读(5889)
推荐(0) 编辑
sql sp_executesql 动态列或动态表名参数
摘要:在使用sp_executesql执行动态的sql时,如果传递进来的参数是表名或者是列名,那么会执行不成功。代码如下:View Code 1alterproctest23as4declare@valuenvarchar(400)5declare@sqlnvarchar(400)6declare@tempvaluedatetime7declare@idbigint8set@id=2269set@tempvalue=getdate()10set@value='exportTime'11set@sql=N'updatecounterset@value1=@tempvalue1w
阅读全文
posted @
2011-09-23 13:11
wtq
阅读(2395)
推荐(1) 编辑
sql 把字符创分割成两个字符串
摘要:使用指定的字符分割字符串。思路:1,先计算出指定的分割字符在字符串中的索引, 2.然后再分割字符串。sql代码如下: View Code 1declare@strordernvarchar(200)2declare@ismulorderint3declare@firstOrdernvarchar(200)4declare@secondOrdernvarchar(200)56set@strorder='LastModifyDateDesc,OurPriceAsc'78selectCHARINDEX(',',@strorder,0)9--selectLEN(@str
阅读全文
posted @
2011-09-01 16:37
wtq
阅读(461)
推荐(1) 编辑
sql row_number() over() 来自动产生行号
摘要:需求:需要统计网站的访问量,具体是哪个用户的ip访问该网站,并统计从哪个连接访问该网站。提示。先按userIP分组,再按时间排序,最后编号。代码如下:View Code 1selectrow_number()over(partitionbyUserIporderbyinsertTime),*fromuseraccess
阅读全文
posted @
2011-08-29 19:56
wtq
阅读(865)
推荐(0) 编辑
sql 使用identity(int,1,1)来产生行号。
摘要:1,使用identity(int,1,1)来产生行号,必须把数据插入到一张表中。2,如图: 3,代码如下:View Code 1selectrowid=identity(int,1,1),useripintotempTfromuseraccess2select*fromtempT参考:http://blog.sina.com.cn/s/blog_5f92e8c50100kfnp.html
阅读全文
posted @
2011-08-29 19:37
wtq
阅读(9780)
推荐(0) 编辑
sql DateName\DatePart 返回表示指定date的指定datepart的字符串
摘要:1,语法DATEPART (datepart , date )参数 datepart 是将为其返回 integer 的 date(日期或时间值)的一部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。 datepart 缩写 year yy ,yyyy quarter qq ,q month mm , m dayofyear dy ,y day dd ,d week wk ,ww weekday dw hour hh minute mi, n second ss , s millisecond ms microsecond mcs nanosecond ns TZ
阅读全文
posted @
2011-08-17 16:47
wtq
阅读(848)
推荐(0) 编辑
sql language 根据语言来返回不同的结果
摘要:1,可以通过使用 sql中的language来设置要查询出来的语言。1.1使用繁体中文 如下代码:View Code 1setlanguageN'繁體中文'2SELECT3DATENAME(ww,'2011-08-1712:13:00'),4DATENAME(DW,'2011-08-1713:12:00'),5CONVERT(varchar,getdate(),109)执行结果如下:2.2使用英文代码如下:View Code 1setlanguageN'English'2SELECT3DATENAME(ww,'2011-0
阅读全文
posted @
2011-08-17 16:01
wtq
阅读(309)
推荐(0) 编辑
sql DATEADD (Transact-SQL)根据需要返回时间,
摘要:1.语法:DATEADD (datepart , number , date )2.参数 datepart 是与 integernumber 相加的 date 部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。 datepart 缩写 year yy ,yyyy quarter qq ,q month mm ,m dayofyear dy ,y day dd ,d week wk ,ww weekday dw ,w hour hh minute mi ,n second ss ,s millisecond ms microsecond mcs nanosecon
阅读全文
posted @
2011-08-17 15:30
wtq
阅读(418)
推荐(0) 编辑
sql SQL Server角色成员身份和权限简介
摘要:为便于管理数据库中的权限,SQL Server 提供了若干“角色”,这些角色是用于分组其他主体的安全主体。它们类似于 Microsoft Windows 操作系统中的组。数据库级角色的权限作用域为数据库范围。SQL Server 中有两种类型的数据库级角色:数据库中预定义的“固定数据库角色”和您可以创建的“灵活数据库角色”。固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份。但是,只有 db_owner 数据库角色的成员能够向db_owner 固定数据库角色中添加成员。msdb 数据
阅读全文
posted @
2011-08-15 00:04
wtq
阅读(740)
推荐(0) 编辑
sql datetime,smalldatetime、datetime2,data,time,datetimeoffset 区别
摘要:1.datetime,smalldatetime、datetime2,data,time,datetimeoffset的具体 区别如下:大部分都只是秒钟的差别。
阅读全文
posted @
2011-08-13 17:33
wtq
阅读(989)
推荐(1) 编辑
sql over开窗函数,
摘要:1.使用over子句与rows_number()以及聚合函数进行使用,可以进行编号以及各种操作。而且利用over子句的分组效率比group by子句的效率更高。2.在订单表(order)中统计中,生成这么每一条记录都包含如下信息:“所有订单的总和”、“每一位客户的所有订单的总和”、”每一单的金额“关键点:使用了sum() over() 这个开窗函数 如图:代码如下:View Code 1select2customerID,3SUM(totalPrice)over()asAllTotalPrice,4SUM(totalPrice)over(partitionbycustomerID)ascus.
阅读全文
posted @
2011-08-13 16:29
wtq
阅读(16724)
推荐(8) 编辑
sql ROW_NUMBER() 排序函数
摘要:1使用row_number()函数进行编号:如View Code 1selectemail,customerID,ROW_NUMBER()over(orderbypsd)asrowsfromQT_Customer原理:先按psd进行排序,排序完后,给每条数据进行编号。2.在订单中按价格的升序进行排序,并给每条记录进行排序代码如下:View Code 1selectDID,customerID,totalPrice,ROW_NUMBER()over(orderbytotalPrice)asrowsfromOP_Order3.统计出每一个各户的所有订单并按每一个客户下的订单的金额 升序排序,同时.
阅读全文
posted @
2011-08-13 14:51
wtq
阅读(53813)
推荐(10) 编辑
sql datediff 计算时间差
摘要:有关datediff的相应信息,见如下:DATEDIFF (datepart ,startdate ,enddate ) datepart 是指定所跨边界类型的 startdate 和 enddate 的一部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。 datepart 缩写 year yy, yyyy quarter qq, q month mm, m dayofyear dy, y day dd, d week wk, ww hour hh minute mi, n second ss, s millisecond ms microsecond mcs.
阅读全文
posted @
2011-08-13 13:56
wtq
阅读(897)
推荐(0) 编辑
sql 获取系统时间的函数。
摘要:1.获取时间得系统函数SYSDATETIMEOFFSET() ,SYSUTCDATETIME(),CURRENT_TIMESTAMP ,GETDATE() ,GETUTCDATE();具体说明请见:current_timespamp
阅读全文
posted @
2011-08-13 11:51
wtq
阅读(1189)
推荐(0) 编辑
sql 无法删除当前数据库,因为当前数据库正在使用
摘要:删除数据库时,出现如下情况。 1解决办法:把所有的与该数据库的连接都删掉2.关闭与该数据库相关的查询语句 。
阅读全文
posted @
2011-08-11 17:42
wtq
阅读(703)
推荐(0) 编辑