我需要按组组合文本。我发现了一个名为 的函数STRING_AGG。
select c.id
, c.bereichsname
, STRING_AGG(j.oberbereich,',') oberBereiches
from stellenangebote_archiv as j
join bereiche as c on j.bereich_id = c.id
group by c.id, c.bereichsname
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
STRING_AGG 聚合结果超出了 8000 字节的限制。使用 LOB 类型以避免结果截断。
我正在尝试在 SQL Server Express 版本中“编辑前 200 行”,但它返回的是空白文件,如下所示:
我已经在本地安装了这个 SQL Server。我可以选择数据并通过查询更新数据,但无法使用“编辑前 200 行”功能。
我是否缺少某些权限或由于此 SQL Server 版本(包含 Azure)而无法获得某些权限?
我已重新安装 SSMS 并重新启动计算机,但它不起作用。我已经检查了系统管理员的权限。它应该可以工作,这样我就可以直接更新行中的数据。
我在我的 Linux 机器上运行以下命令,并且想要附加一个卷,就像在 Mysql 中一样
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=12345678' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest
Run Code Online (Sandbox Code Playgroud) 我遇到了“错误:已知 npm v9.5.0 不能在 Node.js v18.15.0 上运行。” 在 Windows 上使用 nvm。
nvm -v
# Running version 1.1.7.
Run Code Online (Sandbox Code Playgroud) 寻找我的工作经历,我发现以下错误:
06/18/2018 00:00:01,MBS_Lojas_ExportaMR_OutrasLojas,Error,1,WIN-VRT-01\SQL2008,MBS_Lojas_ExportaMR_OutrasLojas,Passo1,,Executed as user: WIN-VRT-01\integracao. Server 'x.y.z' is not configured for RPC. [SQLSTATE 42000] (Error 7411). The step failed.,01:11:15,16,7411,,,,0
Run Code Online (Sandbox Code Playgroud)
我有这个带有选项 RPC 和 RPC Out 的链接服务器,其值分配为 true。
在工作中我有这个
EXEC master.dbo.sp_serveroption @server=N'x.y.z', @optname=N'rpc', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'x.y.z', @optname=N'rpc out', @optvalue=N'true'
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会发生这种情况,并且针对此错误发布的任何解决方案都无法帮助我调试此问题。
我正在使用 SQL Server 查询构建 JSON 对象。我有斜线问题,而且我需要特定格式的数据,如下所述。实际输出中有斜杠。我想从我的输出查询中消除斜线。
SELECT (SELECT
('{'+'"value":'+ cast(ISNULL(SP.ACCOUNT_TRAFFIC_DEP_LICENSE_NUMBER,'') as varchar) ) AS TRAFFIC_DEP_LICENSE_NUMBER
,( '{' +'"value":'+cast(ISNULL(SP.NUMBER_OF_VEHICLES ,'') as varchar) ) AS NUMBER_OF_VEHICLES
,( '{' +'"value":'+cast(ISNULL(SP.ACCOUNT_TRAFFIC_DEP_LICENSE_START_H_DATE,'') as varchar) ) AS TRAFFIC_DEP_LICENSE_START_H_DATE
,( '{' +'"value":'+cast(ISNULL(SP.ACCOUNT_TRAFFIC_DEP_LICENSE_END_H_DATE ,'') as varchar) ) AS TRAFFIC_DEP_LICENSE_END_H_DATE
,( '{' +'"value":'+cast(ISNULL(SP.SUSPENSION_BY_MORROR_STATUS,'') as varchar) ) AS SUSPENSION_BY_MORROR_STATUS
,( '{' +'"value":'+cast(ISNULL(SP.SUSPENSION_BY_VIOLATION ,'') as varchar) ) AS SUSPENSION_BY_VIOLATION
,( '{' +'"value":'+cast(ISNULL(SP.SUSPENSION_BY_PENALTY ,'') as varchar) ) AS SUSPENSION_BY_PENALTY
from [dbo].[TAMM_CAC_ACCOUNTS_STG] SP
where SP.Account_Reference_Number = CAC.Account_Reference_Number
AND (
ACCOUNT_TRAFFIC_DEP_LICENSE_NUMBER IS NOT NULL …Run Code Online (Sandbox Code Playgroud) 我无法在 Azure Data Studio 中删除自定义数据库,因为它们当前正在使用中。
我一直在寻找关闭zap数据库的各种方法,但在 UI 中找不到任何方法。
只有通过重新启动 Azure Data Studio,zap数据库才会处于“自动关闭”状态,这让我可以使用以下方法删除它:
drop database zap;
如何在不重新启动 Azure Data Studio 的情况下关闭与数据库的连接?
我一直在四处寻找这个问题的答案,但那里有一些相互矛盾或模棱两可的信息,发现很难找到确定的答案。
我的上下文:我在 node.js 中使用 'mssql' npm 包。我的 SQL 服务器是 Microsoft SQL Server 2014。
我有一条记录,它可能已经存在于表中,也可能不存在——如果存在,我想更新它,否则我想插入它。我不确定最佳 SQL 是什么,或者是否应该在 mssql 中运行某种“事务”。我发现了一些看起来不错的选项,但我不确定其中的任何一个:
选项 1: 如何更新(如果存在或插入)
问题是我什至不确定这是 MSSQL 中的有效语法。不过我确实喜欢它,而且它似乎也支持我喜欢的同时执行多行。
INSERT INTO table (id, user, date, points)
VALUES (1, 1, '2017-03-03', 25),
(2, 1, '2017-03-04', 25),
(3, 2, '2017-03-03', 100),
(4, 2, '2017-03-04', 150)
ON DUPLICATE KEY UPDATE points = VALUES(points)
Run Code Online (Sandbox Code Playgroud)
选项 2:
不知道这个有没有问题,只是不确定它是否是最佳的。似乎不支持多个同时行
update test set name='john' where id=3012
IF @@ROWCOUNT=0
insert into test(name) values('john');
Run Code Online (Sandbox Code Playgroud)
选项 3:合并,https : //dba.stackexchange.com/questions/89696/how-to-insert-or-update-using-single-query
有人说这个有点bug什么的?这显然也支持一次我喜欢的多个。
MERGE dbo.Test WITH …Run Code Online (Sandbox Code Playgroud) 我有一个 SQL Server 实例 2019 64 位和 Microsoft Office 2019 64 位。
当我想使用 SSMS 从 Excel 文件“导入数据”时,根据 Excel 版本,出现以下错误:
我尝试安装:
虽然在 SSMS 中,我可以看到 2 个提供程序:Microsoft.ACE.OLEDB.12.0 和 Microsoft.ACE.OLEDB.16.0 但没有任何效果。
我已经寻找了很长时间的解决方案,但一无所获。此主题的解决方案不起作用:“Microsoft.ACE.OLEDB.16.0”提供程序未在本地计算机上注册。(系统.数据)
Windows 10 64 位版本:20H2
SQL Server 实例版本:Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) 2020 年 11 月 6 日 16:50:01 版权所有 (C) 2019 Microsoft Corporation Developer Edition(64 位),适用于 Windows 10 Pro 10.0(内部版本 …
问题
以下是我的数据片段:
Create Table Emps(person VARCHAR(50), started DATE, stopped DATE);
Insert Into Emps Values
('p1','2015-10-10','2016-10-10'),
('p1','2016-10-11','2017-10-11'),
('p1','2017-10-12','2018-10-13'),
('p2','2019-11-13','2019-11-13'),
('p2','2019-11-14','2020-10-14'),
('p3','2020-07-15','2021-08-15'),
('p3','2021-08-16','2022-08-16');
Run Code Online (Sandbox Code Playgroud)
我想使用 T-SQL 来计算有多少人至少满足一次以下条件- 倍数也应算作 1:
对于一个人来说:
s1)大于“结束”中的至少一个日期(例如e1)s1且e1在同一年,需手动设置 - 例如“2021-01-01”至“2022-01-01”预期响应示例
如果我将日期范围“2016-01-01”到“2017-01-01”放在 WHERE / HAVING 子句中的某个位置,则输出应该为1,因为只有p1开始日期和结束日期都在 2016 年,其中开始日期大于结束日期:
s1='2016-10-11'和e1= '2016-10-10'。
为什么我自己不能做这件事
我陷入困境的原因是我不知道如何在组之间进行逐行比较。该问题需要比较人员 ID 内跨列(从末尾开始)跨行的值。