-
sql普通行列转换
问题:假设有张学生成绩表(tb)如下:姓名课程分数张三语文74张三数学83张三物理93李四语文74李四数学84李四物理94想变成(得到如下结果):姓名语文数学物理----------------李四748494张三748393-------------------*/createtabletb(姓名varchar(10),课程varchar(10),分数int)insertintotbvalues('张三','语文',74)insertintotbvalues('张三','数学',83)insertintotbvalues('张三','物理',93)insertintotbvalues('李四','语文',74)insertintotbvalues('李四','数学',84)insertintotbvalues('李四','物理',94)go--SQLSERVER2000静态SQL,指课程只有语文、数学、物理这三门课程。(以下同)select姓名as姓名,max(case课程when'语文'then分数else0end)语文,max(case课程when'数学'then分数else0e...
数据库操作教程 2022-09-23 20:30:30 -
sqlserver清空servicebroker中的队列的语句分享
复制代码代码如下:USETestDBdeclare@conversationuniqueidentifierwhileexists(select1fromsys.transmission_queue)beginset@conversation=(selecttop1conversation_handlefromsys...
数据库操作教程 2022-09-23 20:30:24 -
MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
使用软件:MySQLMigrationTool提示数据过大,无法导入。修改my.cnf文件的max_allowed_packet=100M以上...
数据库操作教程 2022-09-23 20:30:19 -
SQL的小常识,备忘之用,慢慢补充.
1.@@rowcount:获取受影响行数复制代码代码如下:updateSNS_TopicDatasetTopicCount=TopicCount+1whereTopic='1'if@@rowcount>0beginprint'成功'endelsebeginprint'失败'end2...
数据库操作教程 2022-09-23 20:30:15 -
SQL语句练习实例之七剔除不需要的记录行
复制代码代码如下:--相信大家肯定经常会把数据导入到数据库中,但是可能会有些记录行的所有列的数据是null,这为null的数据是我们不需要--现在需要一个简单的查询来剔除掉这些为null的记录行。--假设表名为emplyees--方法1.---先把数据导入到数据库---其次:select*fromsys.columnswhereobject_id=(selectobject_idfromsys.objectswherename='EMPLYEEs')---方法2---使用数据库提供的函数execsp_columns'Employees'deletefromEmployeeswherecoalesce(status,tel,gwei,ADDRESS1,address2,nwei)isnull...
数据库操作教程 2022-09-23 20:30:03 -
MSSQLSERVER2005数学函数整理
MSSQLSERVER2005数学函数1.求绝对值ABS()selectFWeight-50,ABS(FWeight-50),ABS(-5.38)fromT_Person2.求幂POWER(X,Y)用来计算X的Y次幂selectFWeight,POWER(FWeight,-0.5),POWER(FWeight,2),POWER(FWeight,3),POWER(FWeight,4)fromT_PersonselectPower(2,2)3.求平方根SQRT()selectFWeight,SQRT(FWeight)fromT_Person4.求随机数RAND()支持有参数,也可以没参数selectRAND()selectRAND(123)5.舍入到最大整数CEILING()selectFName,FWeight,CEILING(FWeight),CEILING(FWeight*-1)fromT_Person6.舍入到最小整数FLOOR()selectFName,FWeight,FLOOR(FWeight),FLOOR(FWeight*-1)fromT_Person7.四舍五入ROUND(...
数据库操作教程 2022-09-23 20:29:52 -
T-SQL查询语句的执行顺序解析
(5)SELECT(5-2)DISTINCT(5-3)TOP(<top_specification>)(5-1)<select_list>(1)FROM(1-J)<left_table><join_type>JOIN<right_table>on<on_predicate>(2)WHERE<where_predicate>(3)GROUPBY<group_by_specification>(4)HAVING<having_predicate>(6)ORDERBY<order_by_list>; 每一步都会生成一个虚拟表,该虚拟表会作为下一步的输入。这些虚拟表对于调用者是不可用的,只有最后一步生成的虚拟表才会返回给调用者...
数据库操作教程 2022-09-23 20:29:42 -
MSSQLSERVER中的BETWEENAND的使用
資料CustomerIdNameRegisterDate1澎澎2007/1/500:00:002丁丁2007/1/600:00:003亞亞2007/1/700:00:00aspx頁面查詢條件:最小日期:[2007-01-06] 最大日期:[2007-01-06]使用的sql:SELECTID,Name,RegisterDateFROMCustomerWHERE(RegisterDateBETWEEN'2007-01-06'AND'2007-01-06')結果是傳回1筆:丁丁,符合我的預期但是如果丁丁的RegisterDate的時間不是00:00:00呢?如果資料是這樣IdNameRegisterDate1澎澎2007/1/500:00:002丁丁2007/1/604:37:003亞亞2007/1/700:00:00一樣的sqlSELECTID,Name,RegisterDateFROMCustomerWHERE(RegisterDateBETWEEN'2007-01-06'AND'2007-01-06')傳回來的是0筆 ...
数据库操作教程 2022-09-23 20:29:40 -
SQL语句练习实例之二——找出销售冠军
复制代码代码如下:--销售冠军--问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表---createtablesalesdetail(Areaintnotnull,Salernvarchar(20)notnull,SalerIdintnotnull,Salesmoneynotnull)insertsalesdetailselect1,'张三',15,3000unionselect1,'赵一',16,3500unionselect1,'钱二',17,4000unionselect1,'孙三',18,5000unionselect1,'李四',19,5000unionselect1,'王五',11,7000unionselect2,'周边一',25,3000unionselect2,'李白',22,4000unionselect2,'张镇东',23,6000unionselect2,'李宁',24,1000unionselect3,'李斯',35,3000unionselect3,'李勇',33,2000unionselect4,'李逵',44,5000union...
数据库操作教程 2022-09-23 20:29:35 -
SQLServer提示"选定的用户拥有对象,所以无法除去该用户”
我试了网上提供的一些方法都不行,最后还是自己用SQL解决了些问题。1在查询分析器里面选中出问题的数据库,然后输入:Execsp_configure'allowupdates',1--允许更新系统表...
数据库操作教程 2022-09-23 20:29:22 -
sqlserver获取当前日期的最大时间值
那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd23:59:59.997。我们可以使用DATEADD函数,来实现,以当前日期的午夜时间值加一天,即得到第二天的午夜时间值,然后再减去3秒,即可以获取当前系统日期的最大时间值...
数据库操作教程 2022-09-23 20:29:19