TSQL-选择休假日期在发票范围内的数据的最佳方法

背景:我有一个工资系统,只有当假期在支付的发票范围内时,才支付假期。因此,如果发票涵盖了最后2周,则仅支付最后2周的假期 我想写一个sql查询来选择休假 假设有一个名为DailyLeaveLedger的表,其中有一个LeaveDate和Paid标志。 假设一个名为Invoice的表是一个WeekEnding字段和一个NumberWeeksCovered字段 现在假设一周结束日期为2009年5月15日,NumberWeeksCovered=2,离开日期为2009年5月11日 这是一个例子,我想如何

Tsql 如何在Sql Server中使用信息模式或系统视图识别一对一(一对-?)关系

所以问题来了。。使用TSQL和INFORMATION_SCHEMA或sys视图,如何识别1:0-1关系,例如FK_BaseTable_InheritedTable 在一个具体的示例中,假设一个简单的DTO-FK_JoinTable_ParentTable将被呈现为ParentTable对象上的JoinTable集合,而FK_BaseTable_InheritedTable将被呈现为BaseTable对象上的InheritedTable对象(例如,我知道,继承是一个错误的选择,但不会返回) 我能想

Tsql 如何从两个表中的结果中获取id

考虑下订单。订单将有一个或多个行项目。每个行项目都是针对特定产品的 给定一个包含两个产品的筛选器表,如何获取至少包含第二个表中列出的所有产品的订单id table Orders( OrderId int ) table LineItems ( OrderId int, LineItemId int, ProductId int ) table Filter ( ProductId int ) 资料 查询的预期结果: 订单号:3 select orderid from l

Tsql 如何检查与数据库的连接?

t-sql,sql server 2008 我的应用程序必须每5秒检查一次与数据库的连接状态。我是按照下面的代码做的: static bool Check() { using (SqlConnection conn = new SqlConnection("Server=WS-01\\ex1; User id=Admin; pwd=123; database=database")) { try {

Tsql T-SQL右键联接到选定列中的所有条目

我有下面的查询,它生成下面的输出 SELECT TBLUSERS.USERID, TBLUSERS.ADusername, TBLACCESSLEVELS.ACCESSLEVELID, TBLACCESSLEVELS.AccessLevelName FROM TBLACCESSLEVELS INNER JOIN TBLACCESSRIGHTS ON TBLACCESSLEVELS.ACCESSLEVELID = TBLACCESSRIGHTS.A

Tsql T-SQL重新分配订单编号

假设我有一个表,其中有一个名为“ordernum”的字段,表示给定行集合的顺序。现在假设我删除了其中一行。什么类型的查询最适合重新分配订单号,以便它们保持顺序 下面是一个例子: id组\u id name ordernum active ------------------------------------- 0\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu'Name1'\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

Tsql 按问题排序的T-Sql

我有一个sql语句,我正在使用一个简单的排序,如下所示 Select numbers From theTable Order By numbers 1 11 12 14 2 21 22 23 3 35 37 etc... 我得到的回报如下 Select numbers From theTable Order By numbers 1 11 12 14 2 21 22 23 3 35 37 etc... 我要按正常顺序订购 1 2 3 4 5 6 etc... 存储数字的列的数据类型是什

TSQL-将结果导出到Excel返回单线程单元模式错误

我想将存储过程的结果导出到Excel。因此,我在exec和SELECT语句之间插入以下内容: INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Temp\testing.xls;', ' SELECT Field1, Field2, Field3 FROM [Sheet1$] ') 返回以下错误: OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”无法用于分布式查询,因为该提

Tsql T-SQL:一种更好的滑动分布函数/查询

我需要一种类似于NTIL提供的T-SQL排序方法,不同的是每个tile的成员都是滑动分布的,这样排名较高的tile的成员就更少 比如说 CREATE TABLE #Rank_Table( id int identity(1,1) not null, hits bigint not null default 0, PERCENTILE smallint null ) --Slant the distribution of the data INSERT INTO #Rank_Table (hits

Tsql 当条件可能在任一表上时,如何对一对多关系执行搜索?

我正在使用t-sql。我有一个我认为很容易找到的东西。销售人员和展会之间存在一对多的关系。1.销售人员本可以参加许多贸易展览会。我需要能够搜索销售人员。我还需要能够搜索他们参加的最后一次展会。我原以为我可以在他们上次的贸易展上做简单的加入和分组,但我不能展示城市或州 SELECT SalePersonID, FirstName, LastName, TradeShow.DateLastWent FROM SalesPerson INNER JOIN (SELECT

Tsql T-SQL:在字符串连接中处理空值的最佳方法

如果在SELECT语句中,我正在选择一个使用我从中选择的表中的值的连接字符串,那么处理这些值的空值的最佳方法是什么,以便我仍然拥有我的字符串?如中所示,如果我要为用户选择城市、州和国家,并且我想要第三个字段将它们全部连接起来: SELECT City, State, Country, City + ', ' + State + ', ' + Country AS 'Location' FROM Users 但是,如果这三个字段中的任何一个为空,则“Location”为空,这在用户不是美国人时发

Tsql T-SQL从值条件开始选择

在SQLServer2008中,我有下表 谢谢 create table test1 ([Number] int, Item varchar(10)) insert into test1 values (20 , 'Item 1'),(30 , 'Item 2'),(60 , 'Item 3'),(23 , 'Item 4'),(10 , 'Item 5'),(76 , 'Item 6'),(44 , 'Item 7'),(99 , 'Item 8'),(10 , 'Item 9'),(22 ,

Tsql tqsl-选择查询的结果是否作为子查询中的变量进行操作?

对于每个用户,我希望生成一个聚合结果。但是,我一直遇到子查询返回多个结果的问题 选择**[用户]**, 选择SUMamount 来自交易 其中[user]=***[user]** 和[类型]=“信用”—— 选择SUMamount 来自交易 其中[user]=***[user]** 和[类型]=“借方” 来自交易 如何从开始时的select中获取用户,然后作为子查询中的变量用户进行操作? SELECT t.user, ((SELECT SUM(amount) FROM transactions

Tsql T-sql中HASH_BYTES()函数中MD5、MD4、SHA1、SHA2算法的差异

有谁能帮助我理解SHA1、SHA2、MD4和MD5算法在表数据方面的真正区别吗 选择哪种算法的确切情况是什么 HASH_BYTES()如何处理每个算法 请帮忙 感谢n问候这有帮助吗:MD4和MD5根本不应该使用,两者都严重损坏。SHA1在理论上是破碎的,因此不建议也使用。根据上述算法,仅应使用SHA2 编辑:SHA1现在被证明被一个破坏了。我也在想同样的事情,我刚才刚刚搜索了一个哈希算法。:)可能我的意思是,我需要它来处理表和hoe,它会影响数据冲突,你可以在这里找到并尝试MD4和MD5的冲突:

Tsql T-SQL分页排序和筛选-筛选不起作用

T-SQL分页排序与筛选 我已经在一个T-SQL存储过程上工作了几个小时,它将使我能够检索一组分页的文章,这些文章根据指定的列按ASC或DESC顺序排序 我现在正在根据“Title”字段的第一个字符对存储过程进行筛选,并添加了以下行: @StartAlpha nvarchar(1) = null 及 见下文 存储过程不再返回任何结果。我真的不知道为什么 有人能帮忙吗 问候 沃尔特 USE [ABC] GO /****** Object: StoredProcedure [dbo].[Get_

Tsql 拒绝向除sa之外的所有人提供一张桌子的所有内容

在MS-SQL Server 2008 R2中,是否有方法将表权限设置为“拒绝所有”(选择、插入、更新、删除)所有角色和用户id(包括将来的角色和用户id),sa除外 换句话说,除了sa之外,是否可以使表不可见 db_所有者将看到它 架构所有者可以看到它 存储过程中的引用不会检查权限 如果您想要一个不可见的表,请将其放入自己的数据库中,并且不设置任何权限。无需否认,只需不授予或创建用户感谢您的及时回答。好的,那么有没有办法让一列不可见呢?也许db_所有者可以看到它。列级权限很棘手,但同样适

Tsql 日期时间比较

我要做的是从sql中获取一个结果,其中日期在某个范围内,但不能正常工作,下面是我的查询 DECLARE @CurrDate DATETIME SET @CurrDate = GETDATE() SELECT dbo.ProductDetails.PartnerID ,dbo.ProductDetails.ProductID ,dbo.Products.ProductName ,StartDate ,EndDate FROM dbo.ProductD

Tsql 为什么MVC4项目成员数据库表是';成员资格'&;不是';aspnet大学会员资格';?

如果使用VS2010中的Internet应用程序项目模板创建新的MVC4 web应用程序,则aspnet DB有六个表: 申请书, 成员资格, 简介, 角色, 使用者 &用户角色 如果我使用aspnet_regsql.exe工具,则表名为aspnet_Membership等。。但是,所有具有“aspnet_uUc4”的MVC4表都没有此模式!他们有上述名称(看不到“aspnet”) 我甚至直接从以下位置复制了aspnet_regsql.exe使用的脚本: C:\Windows\Microsoft

我需要在TSQL查询的帮助下检索当前日期

我是T-SQL的新手,所以我的问题可能看起来很幼稚 我需要在TSQL查询的帮助下检索当前日期 我可以通过GETDATE()函数实现这一点,但函数 将此格式返回给我04-03-2012 13:58:02 我只需要得到没有小时分和秒的日期 你知道怎么做吗 提前感谢。这将从datetime对象中删除时间。因此,其格式为04-03-2012 00:00:00 DECLARE @d datetime SET @d = GETDATE() SET @d = DATEADD(dd, 0, DATEDIFF(d

Tsql 通过不为加权平均计算工作而超出分区

我不知道我怎么会错过这个,但我敢肯定是因为深夜! 谢谢你的帮助 假设我们使用NorthWind计算加权平均值 USE NORTHWIND Select OD.UnitPrice,OD.Quantity, sum(OD.UnitPrice*OD.Quantity)/sum(OD.Quantity) OVER (PARTITION BY OD.UnitPrice, OD.Quantity) as[ W-AVERAGE] From [Order Details] OD 为什么SQL一直在说“O

Tsql 关键字';作为';,但是line没有';as';

我正在修改一个存储过程,当我尝试执行时,我得到: Msg 156, Level 15, State 1, Procedure vtg_asmbltimephasedashassy, Line 20 Incorrect syntax near the keyword 'AS' 但是当我转到第20行时,没有关键字“as”,也没有直接在第20行之前或之后的行中。也许我数错了 当我数到第20行时,我得到的那一行是 jobmtl.partnum=partwhse.partnum FULL OU

Tsql 字符字段中前3位值的百分比

我有一个不寻常的情况。请考虑以下代码: IF OBJECT_ID('tempdb..#CharacterTest') IS NOT NULL DROP TABLE #CharacterTest CREATE TABLE #CharacterTest ( [ID] int IDENTITY(1, 1) NOT NULL, [CharField] varchar(50) NULL ) INSERT INTO #CharacterTest (CharField) VALUES (

Tsql 在T-SQL中迭代结果集

我想使用一条语句编写一个存储过程,以迭代另一条语句提供的记录结果集,并将最终结果合并到一个结果集中。有人能就这方面的方法提出建议吗 例如,要迭代的一组通用记录: SELECT sys.schemas.name + '.' + sys.objects.name as [schm_obj] FROM sys.objects INNER JOIN sys.schemas ON sys.objects.schema_id = sys.schemas.schema_id AND sys.sch

Tsql 如何在CRM数据库中存储多个消息线程

我正在使用客户关系管理应用程序。我有两个表:tbl\u Inquiry\u master用于存储最终用户提出的查询问题详细信息,以及tbl\u Inquiry\u History用于存储查询答案详细信息 但是,这显示了将一个问题存储存储到表tbl\u Inquiry\u master中的知识,以及员工对存储在表tbl\u Inquiry\u History中的查询给出的答案 有关更多信息,我代表表tbl\u Inquiry\u masterschema: Column Name

Tsql Microsoft.ACE.OLEDB.12.0驱动程序错误

我有一条语句将数据从平面文件加载到数据库表,但它抛出了一个错误。 我使用的声明是: INSERT INTO emp_scd(empno,ename,hiredate) SELECT empno,ename,hiredate FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:\Data Migration;', 'SELECT * FROM Output.txt')

Tsql 获取日期范围之间的星期一列表

我需要显示N条记录,每条记录都是1周的汇总数据。其中一个输入是日期范围 因为每个星期都应该从星期一开始,所以我想得到一个日期范围内所有星期一日期的列表。有什么建议吗? 注意:这必须在SQL 2005上运行 declare @dt datetime SET @dt = '2010-01-01' declare @dtEnd datetime SET @dtEnd = '2010-12-04' DECLARE @day AS NVARCHAR(30) WHILE (@dt < @dtEn

使用TSQL拉取策略号为X的所有行,其中至少有一行的trans代码为Y

我有一个表,行policy_unbr和trans\cd。每个策略有多个trans_cd(即使是相同类型的)。我想提取所有保单记录,其中所述保单有trans\u cd的“ER”或“RO”。因此,任何policy\u nbr带有trans\u cd的'ER'或'RO'关联,我想将所有带有该policy\u nbr的条目拉入一些新的临时表,而不仅仅是带有'ER'或'RO'的条目 我现在掌握的代码是: SELECT * FROM urs_prem_detail_interim INTO ER_RO_ur

Tsql 用户定义函数T-SQL中的区分大小写

我在T-SQL中有一个用户定义的函数,它在内部使用CHARINDEX()。我将@CaseSensitive(bit)参数作为输入,它应该决定CHARINDEX()函数的大小写(排序规则)。有没有一种方法可以做到这一点,而不必为CHARINDEX()的每次出现都创建两个if构造?不幸的是,如果这就是您所想的(我是) 但是,如果您只是想寻找一种更容易控制的方法,那么您可以将所有CHARINDEX查找评估为区分大小写,然后在@caseSensitive为零时使用使其不区分大小写: DECLARE @c

Tsql 按日期选择值

我的数据结构与 ,但我需要获取每个日期的值,我标记了它们。Feroc问题的解决方案是只给出最后日期 localName Date_Time RH BAG012 2014-10-09 17:17:58.000 16 <-- BAG012 2014-10-09 17:13:28.000 16 BAG012 2014-10-09 17:12:23.000 16 BAG012 2014-10-09 16:5

Tsql 使用MSDASQL的远程变量查询

我正在尝试为SSRS报告创建查询。我需要从链接服务器(到iSeries)获取过去3个月的事务 因此,我构建了一个SQL变量,我想用OpenQuery执行它 declare @EarliestDate varchar(8), @SQL VARCHAR(200), @sDate varchar(8) SET @EarliestDate=CAST(DATEPART(YEAR,DATEADD(m,-3, getdate())) AS VARCHAR(4)) + RIGHT('00' + CA

Tsql 按90分钟间隔分组

我试图将带有DATETIME字段的记录按90分钟的间隔分组 我可以按60分钟的任意数量分组,可以使用: SET @Interval = 3 -- Every 3 Minutes SELECT CAST( CONVERT(VARCHAR(8), [TIME_STAMP],112) + ' ' + CONVERT(VARCHAR(2), DATEPART(hh, [TIME_STAMP])) + ':' + CONVERT(VARCHAR(2

Tsql 列出SQL Server实例上的所有数据库、所有表和所有列

我正在尝试为单个SQL Server实例编写一个查询,该查询列出服务器实例上所有数据库中所有表中的所有列。我发现了一些示例,其中列出了所有表中的所有列,但您必须知道数据库名称。我发现了一些示例,其中列出了SQL Server实例上的数据库,但没有列出数据库中的表。现在我正试图找到将两者结合起来的东西,但我运气不太好 有没有人知道这样的事情是否存在,或者这是一个弥补差距的手动过程 谢谢 Tom您可以使用动态查询。我没有找到别的办法 declare @str varchar(max) = '' ;w

性能调优tSQL查询计数(*)和子查询

我知道有更好的方法来完成我在这里要完成的任务。虽然查询可以正常工作,但我担心随着数据集的增长,它的性能会受到影响 我甚至不需要有人重写我的东西,如果他们愿意为我指出我应该研究的主题的方向,我将不胜感激 我试图通过这个查询返回的是处于或高于某个状态的记录数 提前感谢您的帮助 挑选 选择计数* 来自表1 c1 其中c1.U_键3与“z%”不同,且c1.U_键1=或c1.U_键1为空 “状态为空” , 选择计数* 来自表1 c1 其中c1.U_键3与“z%”不同,而左c1.U_键1,2>='70' “

Tsql 可以像@Pattern+';%';强加SQL注入风险?

SQL注入是否会破坏此存储过程: ALTER PROC [dbo].[usp_CanYouCompromiseMe] @Pattern VARCHAR(60) AS BEGIN SELECT * FROM SomeTable WHERE SomeColumn LIKE @Pattern+'%' END 不,SQL注入(执行任意语句)不能破坏该过程 但在某些情况下,它可能会表现得不好。如果您在某个列上有一个索引,并且希望它执行索引查找(可能您为模式设置了一个最小长度

Tsql 如何使用sp_executesql循环dbs

后续问题 我想循环浏览存储在游标中的dbs名称列表,我不知道将USE命令集成到sp execute命令中的方法是什么,因为我需要该语句来应对dbs的更改 我尝试了下面的代码,但sp_executesql在@dbfullname上返回了一个语法错误。(在进一步了解了sp_executesql的定义之后,我认为没有办法添加USE命令。那么还可以怎么做?有指针吗?需要在批处理事务中完成吗?) 不接受变量或表达式,仅接受静态数据库名称 您可以在执行EXEC之前组合该命令,例如: set @dbfulln

Tsql 字符串分割性能问题

我有两个查询,它们将逗号分隔的列表拆分为行,并插入到表变量中 对于第一个查询,我使用了自定义函数,它是: 用户定义的溢出函数 Create FUNCTION [dbo].[Split_S] ( @sInputList VARCHAR(MAX) ,@sDelimiter VARCHAR(8) ) RETURNS @List TABLE ([item] VARCHAR(8000)) AS BEGIN DECLARE @sItem VARCHAR(MAX) WHILE

Tsql Sybase子群按序

我正在尝试加入一个子查询,但由于该表不包含唯一的行id,并且我需要特定类型的最新记录,因此我希望按日期描述进行排序,并从中获取前1,但Sybase ASE中似乎不允许这样做 我收集了一个小样本来说明我在做什么 CREATE TABLE #test_users (USER_ID CHAR(9), USER_CK INT) INSERT INTO #test_users (USER_ID, USER_CK) SELECT 'QA0000001', 123000010 UNION

Tsql 比较符号';大于';和';等于';CASE-SQL语句

我是SQL Server新手,这是我的第一篇帖子。 使用Case语句时,我收到消息“在“=”附近的语法不正确。下面是我的代码示例: Select * , CASE when a > b THEN b = a when c > d THEN d = c when e > f THEN f = e when g > h THEN h = g when i > j THEN j = i when k > l TH

Tsql 如果链接数据在多个列中可用,如何获取每个组的最小id

我们有一个场景,其中数据根据各种规则进行匹配并存储在表中,但相同的组合不会重复 新建\u id->匹配\u id 8->3 14->1 33->8 33->14 22->10 在这里,前4条记录与同一家族有关,第5条记录是分开的。 我想获取最小id(新的\u id或匹配的\u id)并显示在每条记录旁边,如下所示: 新建\u id->匹配\u id->最小\u id 8->3->1 14->1->1 33->8->1 33->14->1 22->10->10你怎么知道前四条记录在同一个家族中?我

Tsql can';t了解如何将Dim表中的列分配给measures组

DW是用外语写的,所以我把它翻译成了图片。 它是关于一些设施,在那里你可以租用房间和设备。 事实上,表i有一个表示预订数量的度量列,它按预期工作,问题是在DimPayment表i中有PaymentSum和PaymentSumWDiscount列,我需要将它们用作度量。我试图在“计算”选项卡中执行某些操作,但只得到空值 我不知道如何使用PaymentSum和PaymentSumWDiscount列 作为措施 我试图在“计算”选项卡中执行某些操作,但只得到空值 将FactReserving表连接到数

Tsql 如何在T-SQL中将波斯语(shamsi)日期转换为公历?

我使用数据库中存储的大量数据制作报告,我想知道在选择表时是否有一种快速的方法将表中的所有日期转换为波斯日期 有一些转换方法,但它们不是基于SQL的,因此它们比SQL中的函数要慢 因此,如果有人知道如何在SQL中进行转换,我将非常感谢他 经过一天的搜索,我决定用自己的方式解决问题 结果是:享受:D 使用[测试] 去 /******对象:UserDefinedFunction[dbo]。[MyG2J]脚本日期:2019年10月11日02:35:43ب******/ 将ANSI_空值设置为ON 去 在

Tsql 如何在Antlr4语法中实现EOF

我有一个用于TSQL类语言验证的语法。目前,语法规则将与语句一起使用,例如SUM(column1)+SUM(column2) 我希望解析器抛出一个错误,如果它给出了类似 SUM(第1列)SUM(第2列)。请注意,两个和之间缺少运算符。现在,如果我通过解析器运行此语句,它不会出错。相反,它将返回语句的第一部分,SUM(column1),并完全忽略语句的其余部分 经过研究,我相信我的问题的答案是在我的语法中增加一个EOF。我尝试了几种方法来实现这一点,但它对解析没有任何影响 这是在我的语法文件中,在

如果在Microsoft tSQL中找不到行,则返回值

使用Microsoft版本的SQL,下面是我的简单查询。如果我查询一个不存在的记录,那么我将不会得到任何返回。我希望在该场景中返回false 0。正在寻找解释无记录的最简单方法 SELECT CASE WHEN S.Id IS NOT NULL AND S.Status = 1 AND (S.WebUserId = @WebUserId OR S.AllowUploads = 1) THEN 1 ELSE 0 END AS [Va

Tsql SQL左连接和求和()速度慢

我正在运行一个查询以计算对象的总长度。 对象由几个较小的段(来自不同的表)组成。 为每个对象运行带有单个段的查询效果很好,但是添加更多段的负载会变得非常缓慢。(3000个对象和9000个段) 以下是我查询的相关部分: SELECT t1.ObjectID, SUM(SegmentLength) AS TotalLength FROM Objects t1 LEFT JOIN Segment t2 ON t1.ObjectID=t2.ObjectID AND

  1    2   3   4   5   6  ... 下一页 最后一页 共 153 页