tsql 相关问题

T-SQL(Transact Structured Query Language)是Sybase ASE和Microsoft SQL Server支持的SQL功能的扩展。不要将此标记用于MySQL,PostgreSql,Oracle(Pl / SQL)相关查询。请注意,使用LINQ编写的sql代码也不是此标记的一部分。此标记专门用于使用Microsoft SQL Server进行高级SQL编程。

将高棉语与零长度字符串进行比较时,NULLIF/IIF 返回不需要的结果

我发现一个 T-SQL 语句无法将字符串设为 NULL(如果它是空字符串)。就像是: SELECT NULLIF(N'ធ្វើឱ្យ', '') -- NULL 根据谷歌翻译,这个词的意思是“制作”

回答 1 投票 0

T-SQL - NULLIF / IIF 比较

我发现一个 T-SQL 语句无法将字符串设为 NULL(如果它是空字符串)。就像是: SELECT NULLIF(N'ធ្វើឱ្យ', '') -- NULL 根据谷歌翻译,这个词的意思是“制作”

回答 1 投票 0

检查多个数据库的身份值

我有以下语句,它返回一个数据库的当前标识值 ;与cte 作为 (选择 A.TABLE_CATALOG 作为目录 ,A.TABLE_SCHEMA 作为“架构” ...

回答 1 投票 0

使用任何分隔符或字符拆分 5 位邮政编码字符串?

我正在尝试以字符串形式获取多个邮政编码的输入,并将它们拆分以查看特定表中是否存在每个邮政编码的记录;我做了 String_Split 只是为了 ',' 作为分隔符,但是...

回答 2 投票 0

如何根据日期动态旋转?

我偶然发现了以下问题,并且我有点困惑如何解决这个问题(以及如何实际向 ChatGPT 提出这个问题..:D)。 源系统向我提供每个月的年初至今数据。 分析师

回答 1 投票 0

用任意定界符或字符拆分 5 位邮政编码字符串?

我正在尝试以字符串形式获取多个邮政编码的输入,并将它们拆分以查看特定表中是否存在每个邮政编码的记录;我做了 String_Split 只是为了 ',' 作为分隔符,但是...

回答 1 投票 0

比较两个表的定义

有没有一种方法可以在 T-SQL 中以编程方式比较两个表的定义。 不仅是列名和数据类型,还包括以下方法返回的所有定义: sp_help '表名'

回答 2 投票 0

Blazor SQL 查询基于 SQL 查询插入表

我是新人,刚刚学习 Blazor。我正在使用实体框架核心库。当我设法从 SQL Server 表中提取数据时,我已经遇到了插入问题。 这不是一个普通的ins...

回答 1 投票 0

我可以让这个查询更简洁、更容易阅读吗?

我有一个 SQL Server 查询,需要按列访问信息,这会生成一个很长的 case 语句来涵盖所有必要的列。 我想知道是否有更简洁的...

回答 1 投票 0

使用 T-SQL 创建 Umbraco 成员

我正在尝试使用 SQL Server 存储过程而不是 GUI 创建 Umbraco 成员。 使用 SQL Server Profiler,我可以看到有一个可以使用的函数: exec sp_executesql N'INS...

回答 1 投票 0

如何从表示位置的字符串列表中创建层次结构表?

我有一个字符串表,其中每个字符串代表一个地理位置,每个级别由“|”分隔。 条目并不总是具有相同的级别数和相同的条目...

回答 1 投票 0

在 SQL Server 中合并两个 XML 列

希望有人可以帮助我进行 SQL 查询,我正在尝试合并两个 XML 列,我目前正在使用 SQL Azure 2019。 第一个 XML 希望有人可以帮助我进行 SQL 查询,我正在尝试合并两个 XML 列,我目前正在使用 SQL Azure 2019。 第一个 XML <HOME> <VALIDITYLIST> <VALIDITY STATE="1"> <VALIDITYTYPE>1</VALIDITYTYPE> <GROUPCODE>DEFAULT</GROUPCODE> <ENTRY/> <CARD>2</CAR> <GIFTAID/> <VARIABLERANGE>false</VARIABLERANGE> <DAYS>365</DAYS> <NOTOPERATING>false</NOTOPERATING> <VALIDITYLIST/> <YPERESTRICTIONLIST/> <METRALOCKERV2> <LOCKERITEMID/> </METRALOCKERV2> <REQUIREDVAREXPDATE/> </VALIDITY> </VALIDITYLIST> </HOME> 第二个 XML <HOME> <VALIDITYLIST> <VALIDITY STATE="1"> <VALIDITYTYPE>1</VALIDITYTYPE> <GROUPCODE>DEFAULT</GROUPCODE> <GIFTAID/> <DYNAMICP/> <VALIDITYLIST> <VALIDITY STATE="1"> <VALIDITYTYPE>2</VALIDITYTYPE> <EVENT>3</EVENT> <ENTRYTYPE>2</ENTRYTYPE> <NUMENTRY>1</NUMENTRY> </VALIDITY> </VALIDITYLIST> </VALIDITY> </VALIDITYLIST> </HOME> SQL 会以某种方式合并两个 xml,并仅返回存在值的节点。类似的东西。 <HOME> <VALIDITYLIST> <VALIDITY> <VALIDITYTYPE>1</VALIDITYTYPE> <GROUPCODE>DEFAULT</GROUPCODE> <CARD>2</CAR> <VARIABLERANGE>false</VARIABLERANGE> <DAYS>365</DAYS> <NOTOPERATING>false</NOTOPERATING> <VALIDITYLIST> <VALIDITY> <VALIDITYTYPE>2</VALIDITYTYPE> <EVENT>3</EVENT> <ENTRYTYPE>2</ENTRYTYPE> <NUMENTRY>1</NUMENTRY> </VALIDITY> </VALIDITYLIST> </VALIDITY> </VALIDITYLIST> </HOME> 感谢大家分享您的想法[下面编辑的部分] 我仍然想在 SQL 中处理。由于节点是固定的,我正在考虑通过读取单独的 XML 创建两个表,然后根据值构建新的 XML,现在我陷入了第一部分,读取 XML。 这就是我想到的,我应该期望在读取第二个 XML 但返回 NULL 时看到 1 和 2 的值,你能看到我在这里做错了什么吗? select @XML2.value('(/HOME/VALIDITYTYPE/node())[1]', 'nvarchar(max)') as VALIDITYTYPE , @XML2.value('(/HOME/VALIDITYLIST/VALIDITYLIST/VALIDITYTYPE/node())[1]', 'nvarchar(max)') as VALIDITYTYPE 是的,这在纯 SQL 中是可能的,使用 XQuery 并完全连接两个 XML,然后使用 FOR XML 重建它 SELECT *, NewXml = ( SELECT VALIDITYLIST = ( SELECT ISNULL(x1.query('.'), x2.query('.')) FROM t.Xml1.nodes('HOME/VALIDITYLIST/VALIDITY/*[(./*) or (text())]') x1(x1) FULL JOIN t.Xml2.nodes('HOME/VALIDITYLIST/VALIDITY/*[(./*) or (text())]') x2(x2) ON x2.x2.value('local-name(.)','nvarchar(30)') = x1.x1.value('local-name(.)','nvarchar(30)') FOR XML PATH(''), ROOT('VALIDITY'), TYPE ) FOR XML PATH(''), ROOT('HOME'), TYPE ) FROM YourTable t; 谓词 *[(./*) or (text())] 查找任何名称的所有节点,这些节点要么具有子节点,要么具有文本元素。 我们通过 local-name(.) 连接当前节点的名称,如果可用,则采用第一列的结果,否则采用第二列的结果。如果列未命名,FOR XML不会添加节点名称。 这一切都假设您始终只有一个 HOME/VALIDITYLIST/VALIDITY 节点,否则会更复杂。 db<>小提琴

回答 1 投票 0

如何将cte值赋给变量

;与 CTEima(PersonId,IsEmployeeActive) 作为 (选择计数(*) 来自 custom.viwSSAppsEmpMasterExtended vem 其中 vem.SupervisorPersonId = @p_PersonId 联合所有 选择 CTEima.IsEmployeeActive ...

回答 4 投票 0

如何在SQL中显示GO计数

有没有办法跟踪SQL Server中GO命令的执行计数。 我需要从一个非常大的表日志表中以非常小的批量进行删除,该表日志表由于

回答 2 投票 0

如何从 DATETIME 列中检索数据并通过存储过程返回它?

我正在 SQL Server 中开发存储过程。我正在从数据类型 DATETIME 的列中检索数据,并且我正在通过存储过程使用 SELECT 指令返回该信息...

回答 1 投票 0

查询获取部分匹配2个字符串的部分字符串

我有一个要求,我需要将收款人姓氏与注册姓名和返回付款姓名相匹配, 有时我们会得到带有附加字符的收款人姓名... 例如,付款名称是“JOHNC” 和

回答 2 投票 0

如何选择总和达到一定金额的前 N 行?

假设: 我的桌子 -- 数量 1 2 3 4 5 MyTable 只有一列 Amount,有 5 行。它们不一定按升序排列。 如何创建一个函数,它接受 @SUM INT,然后返回...

回答 5 投票 0

如何使用 union all 删除重复项

刚刚阅读此网站https://www.toptal.com/sql/interview-questions 他们展示了使用 union all 删除重复项的技巧 选择 * 来自我的表 其中 a = X 联合所有 选择 * 来自我的...

回答 5 投票 0

使用日期时间格式时出现错误。错误:值超出范围

当我像下面这样做时,它不会给出错误 声明 @dd datetime = GETDATE() 选择@dd 当我手动给出日期时出现错误 声明 @dd datetime = '2023-08-25 13:03:28.573' 选择...

回答 1 投票 0

可以在不重复的情况下编写使用相同过滤表进行逆透视和连接的查询吗?

考虑以下查询: 创建函数 unpivoter(@TableID int) 返回表 作为 返回 ( 选择a、b 从 ( 选择 foo1、foo2、foo3、foo4 从表1 哪里

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.