-
sql-server – T-SQL中的多列数据透视
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
我正在使用一个表,其中有多个行需要枢轴转换成列.所以这个枢轴是完美的解决方案,当我需要的只是一个领域时,效果很好.我需要根据枢轴返回几个字段.以下是具体细节的伪代码: SELECT field1,[1],[2],[3],[4]FROM ( SELECT field1,field2,(ROW_NUMBER() OVER(PAR[详细]
-
sql – 在关系数据库中有效地执行分面搜索
所属栏目:[MsSql教程] 日期:2020-12-12 热度:150
我试图通过多标签过滤实现一个 Faceted search或标记.在分面导航中,仅显示不为空的类别,并且括号中也显示了与已经应用的条件匹配的类别中的项目数. I can get all items having assigned categories using INNER JOINs和get number of items in all category[详细]
-
sql – 左连接左侧表中没有重复的行
所属栏目:[MsSql教程] 日期:2020-12-12 热度:115
请看下面的查询: tbl_Contents Content_Id Content_Title Content_Text10002 New case Study New case Study10003 New case Study New case Study10004 New case Study New case Study10005 New case Study New case Study10006 New case Study New case Stu[详细]
-
sql – GETUTCDATE函数
所属栏目:[MsSql教程] 日期:2020-12-12 热度:76
为什么我们应该使用GETUTCDATE()函数而不是getdate()或副作用? 两者的目的是什么?请帮助我举个例子. 解决方法 GETUTCDATE()表示当前UTC时间(世界时协调或格林威治标准时间) 它是一个非确定性函数,引用此列的视图和表达式无法编入索引. 当前UTC时间是从运行S[详细]
-
sql-server – 如何在复合主键中改变varchar的长度?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:62
在MSSQL我有一个表创建如下: CREATE TABLE [mytable] (fkid int NOT NULL,data varchar(255) CONSTRAINT DF_mytable_data DEFAULT '' NOT NULL);ALTER TABLE [mytable] ADD CONSTRAINT PK_mytable_data PRIMARY KEY (fkid,data); 现在我想将’data’列的长度[详细]
-
sql-server – 存储过程事务
所属栏目:[MsSql教程] 日期:2020-12-12 热度:101
我从来没有使用过交易,提交和回滚,现在我需要使用一个.我已经在网上检查了一些例子,以确保我实际上正确使用这个,但我仍然不确定我是否编码这个正确的.我希望有人可以审查并建议我,如果这似乎是正确的. 基本上我有一个应用程序的2个数据库.一个是存档 – 意味[详细]
-
sql – 添加DATETIME列时Alter Table语法是什么样的?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:128
当我想要将默认设置为 – 例如 – 2011-01-26 14:30:00时,我找不到添加DATETIME列到 mysql表的语法 有谁知道这个语法是什么样的? 这是我有的 ADD COLUMN new_date DATETIME AFTER preceding_col, 谢谢 解决方法 如果你有疑问,这里解释一下语法 http://dev.my[详细]
-
sql-server – 使用主键创建视图?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:67
我创建一个包含以下代码的视图 SELECT CONVERT(NVARCHAR,YEAR(okuma_tarihi)) + 'T1' AS sno,YEAR(okuma_tarihi) AS Yillar,SUM(toplam_kullanim_T1) AS TotalUsageValue,'T1' AS UsageTypeFROM TblSayacOkumalariGROUP BY CONVERT(NVARCHAR,YEAR(okuma_tarih[详细]
-
如何使用T-SQL在一行中设置多个局部变量?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:61
declare @inserted bitdeclare @removed bit 我知道可以将它们设置如下: SELECT @inserted = 0,@removed = 0 但是有可能使这更简单,并且使用如下: SET @inserted,@removed = 0 非常感谢 解决方法 怎么样: declare @inserted BIT = 0,@removed BIT = 0 在S[详细]
-
数据库设计 – 触发器vs约束的性能注意事项
所属栏目:[MsSql教程] 日期:2020-12-12 热度:111
我试图找出我是否应该在我的数据库内的触发器或约束中使用业务关键逻辑. 到目前为止,我已经在触发器中添加了逻辑,因为它可以控制下一步会发生什么,意味着我可以提供自定义用户消息,而不是可能会混淆用户的错误. 使用约束超过触发器有什么明显的性能增益,以及[详细]
-
sql查询获取最近3个月的数据
所属栏目:[MsSql教程] 日期:2020-12-12 热度:117
如何获得今天的日期并将其转换为01 / mm / yyyy格式,并从交货月份3个月前的表格中获取数据?表已经包含交货月份为01 / mm / yyyy. 解决方法 SELECT * FROM TABLE_NAMEWHERE Date_Column = DATEADD(MONTH,-3,GETDATE()) Mureinik建议甲方将返回同样的回报.但是[详细]
-
OrderBy / ThenBy循环 – C#中的嵌套列表
所属栏目:[MsSql教程] 日期:2020-12-12 热度:167
我有一个嵌套列表, ListListString intable; 我想对所有列进行排序.问题是列数取决于用户输入. 排序列表像这样工作正常(假设为此示例4列) var tmp = intable.OrderBy(x = x[0]);tmp = tmp.ThenBy(x = x[1]);tmp = tmp.ThenBy(x = x[2]);tmp = tmp.ThenBy(x =[详细]
-
用于比较SQL Server查询计划的工具?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:193
有没有人知道可以用来比较(比较复杂的)查询计划的工具?我不是在寻找计划的指南,而只是一个工具,使我能够快速看到例如.不同的索引使用. 编辑:只是为了说清楚,我不是在寻找关于计划的信息,而是一个可以快速指出两个计划之间的差异的工具(我知道,我可以自己做,[详细]
-
sql索引
所属栏目:[MsSql教程] 日期:2020-12-12 热度:117
索引分为聚集索引和非聚集索引 其目的 是提高了SQL?Server系统的性能,加快数据的查询速度与减少系统的响应时间? 有俩个例子 图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排,b开头的在第二排,这样在找[详细]
-
SQL server触发器
所属栏目:[MsSql教程] 日期:2020-12-12 热度:98
create trigger a_b on b after delete as delete form b where......... 在定义触发器的时候? ? ,触发器名称在create trigger 关键字之后,On 子句指定要创建触发器的表,after子句(也可以用FOR代替AFTER 关键字,二者功能相同)指定激活触发器的操作语句[详细]
-
SQL临时表
所属栏目:[MsSql教程] 日期:2020-12-12 热度:75
创建临时表 ?????? 方法一: ???? create table #临时表名(字段1 约束条件, ??????????????????????字段2 约束条件,sans-serif;white-space:normal;background-color:#FFFFFF;">??????????????????.....) ????????create table ##临时表名(字段1 约束条件,sa[详细]
-
使用matched 判定条件,完成原表到目标表的数据转移
所属栏目:[MsSql教程] 日期:2020-12-12 热度:131
同步操作 MERGE INTO - 数据的目的地,将数据最终 MERGE 到的表对象 USING 与源表连接 ON 关联的条件 WHEN MATCHED - 如果匹配成功,即关联条件成功 (这时就应该将 SOURCE 中其它的所有字段值更新到 TARGET 表中) WHEN NOTMATCHED BY TARGET - 如果匹配不成[详细]
-
SQL向表中插入数据的几种方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:182
[1] ----insert into tablename(表名)(firstcol,secondcol......,lastcol)[列名]values('','','' ) 【values后面跟的值的类型必须跟表中的列名定义的类型相同】 [2]-------------------------------------- insert into Student(S_StuNo,S_Name,S_Sex,S_Heig[详细]
-
索引使用次数、索引效率、占用CPU检测、索引缺失
所属栏目:[MsSql教程] 日期:2020-12-12 热度:57
http://www.cnblogs.com/AK2012/archive/2013/01/04/2844283.html (欣赏别人的,供以后深入了解) 当我们明白了什么是索引,什么时间创建索引以后,我们就会想,我们创建的索引到底效率执行的怎么样?好不好?我们创建的对不对? 首先我们来认识一下DMV,DMV?([详细]
-
优化sql嵌套查询,使用CTE语法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:131
CTE语法(子查询部分),目的是为了提高可读性和可维护性。把子查询部分提出来之后再使用。 eg: with cr as(select * form? A where...) select * form B where B.a in (select cr.a from cr) 使用CTE注意事项: 1,CTE后面必须直接跟着查询语句(select,u[详细]
-
调用远程数据库的T-SQL和SP
所属栏目:[MsSql教程] 日期:2020-12-12 热度:114
--执行远程存储过程.查询远程数据库 ?--远程连接?? ? ? ?if ( not exists(select * from sys.servers where name='yangr1'))?? ? ? ?begin?? ? ? ? ? EXEC? ?sp_addlinkedserver? ? ? ? ?? ? ? ? ? ? ?@server='yangr1',--被访问的服务器别名(随意起一个)? ?[详细]
-
SQL server 关于时间和日期函数简介
所属栏目:[MsSql教程] 日期:2020-12-12 热度:98
在SQL server中直接调用? 1.当前系统时间 select getdate(); 输出结果:2016-10-27 20:07:09.133 2给指定日期加上指定天数(输出DATETIME类型) 例如:给2016-10-27加上3天 select dateadd(day,3,'2016-10-27') ? 返回 ?2016-10-30 00:00:00.000 其中的day也可[详细]
-
复选框多选sql执行语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:123
在复选框多选的时候,我们找到多行数据,需要在数据库中查询.这个多行数据查询的时候,例如id. 此时变为了一个长的一个字符串,他的sql存储过程如下 create proc proc_deleteCheck @deletes varchar(max)? as declare @set varch ar(max); set @set='delete from[详细]
-
修改数据库排序规则实践总结
所属栏目:[MsSql教程] 日期:2020-12-12 热度:97
前俩天运维部需要将一个服务器上面的数据库及站点环境移到另外一台服务器上面,所有文件平移过去之后,web报黄页。发现数据库master的排序规则( SQL_Latin1_General_CP1_CI_AS )和本地用户数据库的排序规则不一致(Chinese_PRC_CI_AS),所以需要将俩种排序[详细]
-
sql添加约束和更改约束
所属栏目:[MsSql教程] 日期:2020-12-12 热度:71
?对表中的列进行约束的方式------ 例如对表 reader 中的 readersex 列只能填‘男'OR'女' alter table reader add check(readersex='男'or readersex='女') 接下来这个是当我们在表中的一个字段中没有定义默认值是可以这样做--- --alter table book drop cons[详细]