我有一个varchar列,其中一些值是mm/dd/yyyy格式的,一些是在yyyymmdd.
我想将所有mm/dd/yyyy日期转换为yyyymmdd格式.做这个的最好方式是什么?谢谢
表是Employees和列是DOB
我有这个表DDL:
CREATE TABLE [dbo].[Audit] (
[AuditId] INT IDENTITY (1, 1) NOT NULL,
[Entity] INT NOT NULL,
[Action] INT NOT NULL,
[Id] UNIQUEIDENTIFIER NULL,
CONSTRAINT [PK_Audit] PRIMARY KEY CLUSTERED ([AuditId] ASC)
);
Run Code Online (Sandbox Code Playgroud)
更新 - 我在这里添加了缺少的SQL.对于那个很抱歉
我所做的是使用这个SQL创建一个SQL报告,它会告诉我每天有多少活动:
select [col1] = CONVERT(VARCHAR(10), DATEADD(HOUR, 8, a.date), 101) ,
[Col2] = convert(varchar, count(*))
from Audit a
group by CONVERT(VARCHAR(10), DATEADD(HOUR, 8, a.date), 101)
order by CONVERT(VARCHAR(10), DATEADD(HOUR, 8, a.date), 101) desc
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
col1 Col2
03/05/2017 1
03/04/2017 20
03/03/2017 10
03/02/2017 5
03/01/2017 10
Run Code Online (Sandbox Code Playgroud)
我现在需要做的是创建一个SQL选择,它显示累积值而不是计数.所以我需要SQL来创建一个能够显示这一点的报告 …
我在SQL Server(2012)中有以下表:
MyTable:
Id __ParentId Priority
1 NULL NULL
2 1 100
3 1 300
4 1 200
5 4 100
6 4 200
7 6 100
8 5 100
9 5 200
10 9 100
11 5 50
Run Code Online (Sandbox Code Playgroud)
该__ParentId列引用标识知道任何一行的父,它可以深入到递归的许多级别(例如,标识8是一个孩子的5是一个孩子的4这是一个孩子1).
此外,还有一个优先级列,显示子项应出现在父项中的顺序(获取优先级的最低数字).
所以,我想得到的决赛桌是:
Id __ParentId Priority Order
1 NULL NULL 1
2 1 100 2
4 1 200 3
5 4 100 4
11 5 50 …Run Code Online (Sandbox Code Playgroud) t-sql sql-server recursion common-table-expression sql-server-2012
我有一个包含下面列的表,如果COD重复,我需要获取值,在VALUE列上获取非NULL.如果不重复,则可以获得NULL VALUE.像例子一样:
我正在使用SQL SERVER.
这就是我得到的:
COD ID VALUE
28 1 NULL
28 2 Supermarket
29 1 NULL
29 2 School
29 3 NULL
30 1 NULL
Run Code Online (Sandbox Code Playgroud)
这就是我要的:
COD ID VALUE
28 2 Supermarket
29 2 School
30 1 NULL
Run Code Online (Sandbox Code Playgroud)
我正在尝试做什么:
;with A as (
(select DISTINCT COD,ID,VALUE from CodId where ID = 2)
UNION
(select DISTINCT COD,ID,NULL from CodId where ID != 2)
)select * from A order by COD
Run Code Online (Sandbox Code Playgroud) 我似乎无法在任何地方找到答案---我想将SQL中的日期时间转换为excel序列号.
我基本上是从excel中寻找DATEVALUE函数,但是在SQL中使用
关于如何做到这一点的任何想法?谢谢
我试图计算SQL Server中的加权平均值.我知道有很多问题可以解决这个问题,但我还有一个额外的问题,我用GROUP BY和sum()和avg()等聚合函数查询了很多其他列.
这是我的查询:
SELECT
AVG(tauftr.kalkek) AS 'PurchPrice',
SUM(tauftr.amount) AS 'Amount',
AVG(tauftr.price) AS 'SellingPrice',
tauftr.product AS 'Product',
auftrkopf.ins_usr AS 'Seller',
DATEPART(wk, auftrkopf.date) AS 'Week',
AVG([margin]) AS 'Margin' /* <--- THIS IS WRONG */
/* CALCULATE HERE: WEIGHTED AVERAGE BETWEEN 'amount' and 'margin' */
FROM
[tauftr] AS tauftr
JOIN
tauftrkopf AS auftrkopf ON tauftr.linktauftrkopf = auftrkopf.kopfnr
WHERE
auftrkopf.[status] = 'L'
AND auftrkopf.typ = 'B'
AND auftrkopf.date >= '01.03.2017'
AND auftrkopf.ins_usr ='HS'
GROUP BY
tauftr.product, auftrkopf.ins_usr, …Run Code Online (Sandbox Code Playgroud) 我正在使用第三方应用程序,并尝试根据数据提取有关班次信息的有意义信息.
shift_pattern_start_dt pattern
2014-05-27 1111000
2015-10-25 1110011
Run Code Online (Sandbox Code Playgroud)
2014-05-27是Tuesday模式的起始位置Tuesday.所以,我想要的结果显示Tuesday,Wednesday,Thursday,和Friday.
2015-10-25是Sunday这种模式的起始位置Sunday.结果应该是Sunday,Monday,Tuesday,Friday,和Saturday.
有任何想法或建议来确定正确的工作日吗?
鉴于此XML:
<Documents>
<Batch BatchID = "1" BatchName = "Fred Flintstone">
<DocCollection>
<Document DocumentID = "269" KeyData = "" />
<Document DocumentID = "6" KeyData = "" />
<Document DocumentID = "299" KeyData = "" ImageFile="Test.TIF" />
</DocCollection>
</Batch>
<Batch BatchID = "2" BatchName = "Barney Rubble">
<DocCollection>
<Document DocumentID = "269" KeyData = "" />
<Document DocumentID = "6" KeyData = "" />
</DocCollection>
</Batch>
</Documents>
Run Code Online (Sandbox Code Playgroud)
我需要以这种格式将它插入SQL Server中的表:
BatchID BatchName DocumentID
1 Fred Flintstone 269
1 Fred Flintstone 6
1 …Run Code Online (Sandbox Code Playgroud) 我们有这个小子,只是将数据泵入远程服务器.一切都按预期工作.
前几天,网络服务器上发生了一个持续了大约一个小时的事件.我仍然可以PING服务器,但IIS没有响应.结果,宏只是等待响应.
有关快速通过/失败测试或超时的任何想法?
Sub WebLog(getUser As String, getEvent As String, getValue As String)
Dim URL As String
URL = "http://myurl.com/dp.aspx?Task=Log&v1=" + getUser + "&v2=" + getEvent + "&v3=" + getValue
Dim xml As Object
Set xml = CreateObject("MSXML2.XMLHTTP")
xml.Open "GET", URL, False
xml.Send
End Sub
Run Code Online (Sandbox Code Playgroud) 我需要计算学期的总和。重叠术语不应计数多次。
Declare @Terms table (Start DATETIME, Finish DATETIME)
INSERT INTO @Terms values
('2016-8-3 08:00','2016-8-3 09:00'),
('2016-8-3 09:00','2016-8-3 10:00'),
('2016-8-3 08:00','2016-8-3 09:30'), -- overlapping term
('2016-8-3 11:00','2016-8-3 12:00')
Run Code Online (Sandbox Code Playgroud)
以上数据的结果应为180分钟(3小时)。最简单,最快的方法是什么?