标签: sql-server-2012

在SQL Server中使用逗号分割字符串

请帮助如何用逗号分隔字符串中的单词

例如:for 'abcdef'

输出: 'a,b,c,d,e,f'

t-sql sql-server sql-server-2008 sql-server-2012

0
推荐指数
1
解决办法
1043
查看次数

如果Else不在TSQL中工作

如果永远不会工作.总是陷入其他条件.我已调试并检查@nextapprover不为null.

IF (@nextApprover != NULL)
BEGIN
    UPDATE CallWatching
    SET EmployeeNo = @employeeNo
    WHERE @SRFID = MasterCode;

    INSERT INTO CallForwarding (
        MasterCode
        ,EmployeeNo
        ,ApproverNo
        ,IsForwarded
        ,ForwardBy
        )
    VALUES (
        @SRFID
        ,@EmployeeNo
        ,@nextApprover
        ,0
        ,@EmployeeNo
        )
END
ELSE
BEGIN
    UPDATE CallWatching
    SET STATUS = 1
    WHERE @SRFID = MasterCode;
END
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures sql-server-2012

0
推荐指数
1
解决办法
251
查看次数

SQL Server 2012 - 如果满足条件,则更新列(CASE)否则不更新

在下面的示例中,每次运行代码块时,列"SecondColumn"和"ThirdColumn"将始终更新.'FirstColumn'将更新为存储在变量中的值@NumberOfRows(只要它> 0).

我遇到的问题是当@NumberOfRows0或更小时,'FirstColumn'将被设置为NULL.

是否可以调整此值,以便if @NumberOfRows为0或更小,那么'FirstColumn'根本不更新而不是将列设置为NULL?

DECLARE 
     @NumberOfRows INT = 0
    ,@NewValue DATETIME = GETDATE()
    ,@Other INT = 99

BEGIN
    UPDATE x
    SET  x.FirstColumn = (CASE WHEN @NumberOfRows > 0 THEN @NewValue END)
        ,x.SecondColumn = SYSDATETIMEOFFSET()
        ,x.ThirdColumn = @Other
    FROM TestTable x
    WHERE x.ID = 100
END
Run Code Online (Sandbox Code Playgroud)

sql-server case sql-server-2012

0
推荐指数
1
解决办法
297
查看次数

LEAD/LAG SQL Server 2012/Gaps和Islands

我在使用LEAD/LAG时遇到了一些问题.对于一组ID中的每一行,我想获得isAQI = 1的上一个/下一个源.在prevAQI和nextAQI列中,所需的输出如下所示.

在sql server中尝试过与Lag()相同的方法,但没有运气.任何帮助将非常感激!

在此输入图像描述

样本数据如下:

DECLARE @a TABLE ( id int, timest datetime, source char(2),
                   isAQI int, prevAQI char(2), nextAQI char(2))
INSERT @a VALUES
(6694   ,'2015-06-11 08:55:06.000'  ,'I'    ,1, NULL, 'A'), 
(6694   ,'2015-06-11 09:00:00.000'  ,'A'    ,1, 'I', 'I'),
(6694   ,'2015-06-11 09:11:49.000'  ,'C'    ,NULL, 'A', 'I'),
(6694   ,'2015-06-11 09:29:06.000'  ,'O'    ,NULL, 'A', 'I'),
(6694   ,'2015-06-11 09:29:06.000'  ,'DT'   ,NULL, 'A', 'I'),
(6694   ,'2015-06-11 09:34:11.000'  ,'DT'   ,NULL, 'A', 'I'),
(6694   ,'2015-06-11 09:34:11.000'  ,'O'    ,NULL, 'A', 'I'),
(6694   ,'2015-06-11 …
Run Code Online (Sandbox Code Playgroud)

gaps-and-islands sql-server-2012

0
推荐指数
1
解决办法
829
查看次数

datename sql函数未显示正确的日期

我上网了,例如2011年11月3日是星期四,2011年11月4日是星期五.我用过这个功能

SELECT datename (dw, 04-11-2011)在我的服务器上它说星期六而不是星期五.如何将其设置为正确显示?或者我错过了什么?

编辑:谢谢大家的意见.但是,大多数人都指出了我使用的格式,而不是它没有正确设置的事实.有人发布了这个链接(并认为删除了他的评论):https://msdn.microsoft.com/en-us/library/ms181598.aspx.

所以,我使用set datefirst 1并且在11月4日使用了select datename(dw, '2011-11-04')

sql t-sql sql-server sql-server-2008 sql-server-2012

0
推荐指数
1
解决办法
102
查看次数

使用它下面的行加入SQL Server

我试图找到一种方法来连接表格的行,其下面有行.不知道这是否是一件事,但我想我会问.

Table A
Name StartDate EndDate  
A    01/01/15  01/12/2015
B    31/01/15  01/03/2015
C    01/04/15  01/08/2015
D    21/07/15  01/05/2015
Run Code Online (Sandbox Code Playgroud)

我希望得到日​​期重叠的人.从示例中,A与B,C和D重叠,然后我需要AB,AC和AD,但也想忽略BA,CA和DA.

So the output from Table A should be:
A B
A C
A D
B D
C D
Run Code Online (Sandbox Code Playgroud)

现在,我正在加入桌子,但无法摆脱重复,即我的结果中既有AB又有BA.任何帮助将非常感激.提前致谢.

sql database sql-server join sql-server-2012

0
推荐指数
1
解决办法
75
查看次数

SQL中的sumProduct

我正在尝试在服务器上的表中实现sumproduct(来自excel)。

select * 
into #myTable2
from #myTable1

select
a, 
b,
c,
d,
e,
(
select (c * e)/100*3423) from #myTable1 t1
inner join #myTable t2
on t1.b = t2.b
where b like 'axr%'
) as sumProduct
from #myTable1
Run Code Online (Sandbox Code Playgroud)

但这并不完全有效。无法发现错误,也许我只是累了或想念它。

编辑: 样本数据和所需结果

只提及重要的专栏

c     e    b        a                             sumProduct      
2     4   axr1     2012.03.01                     2*4 + 3*8 
3     8   axr3     2012.03.01                     2*4 + 3*8 
7     5   axr23    2011.01.01                     7*5 + 3*2
3     2   axr34    2011.01.01                     7*5 + 3*2
Run Code Online (Sandbox Code Playgroud)

EDIT2:我需要一些语法帮助。我正在尝试重写这一部分:

select (c * …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 window-functions sql-server-2012

0
推荐指数
1
解决办法
7646
查看次数

无法安装SQL Server 2012 Management Studio

我开始寻找产品更新,它只是扫描永远不会停止等待2个小时,没有所以我跳过这一步,然后转到下一个是安装设置文件,但它只是说"未启动"和绿色条只是移动和移动,没有任何错误或任何事情发生

sql install ssms sql-server-2012 windows-server-2012

0
推荐指数
2
解决办法
7072
查看次数

我们什么时候需要SQL Server中的CLR功能?

我想知道什么时候需要在SQL Server中使用CLR功能.

有人说CLR主要用于完成T-SQL无法完成的任务.但我无法弄清楚T-SQL的一个很好的例子未能给我我的确切输出.

有人可以给我一个通过T-SQL无法实现的确切示例吗?

样品将非常感谢!

sql sql-server sqlclr sql-server-2012

0
推荐指数
1
解决办法
3592
查看次数

如何不加选择地替换TOP 1000行的选择列

基本上我有一个包含1000行和三列的表.(表A)

我有一个200列的表,有100万条+记录.(表B)

我试图将表格B的1000行的三列替换为表A的那些.我已经阅读了很多解决方案,你可以从表A中插入表B ..但这没用,因为我会得到NULL我需要数据的其余197列.

因此,任务是从一个表替换某些列的行以选择另一个表的列.没有条件,只有顶行或任何你能想到的顺序都没问题.如果你能给出一个将ORDER BY考虑在内的答案,那就是奖金!非常感谢!

sql sql-server sql-server-2012

0
推荐指数
1
解决办法
87
查看次数