我试图将日期与单个部分(如12,1,2007)转换为SQL Server 2005中的日期时间.我尝试了以下内容:
CAST(DATEPART(year, DATE)+'-'+ DATEPART(month, DATE) +'-'+ DATEPART(day, DATE) AS DATETIME)
Run Code Online (Sandbox Code Playgroud)
但这会导致错误的日期.将三个日期值转换为正确的日期时间格式的正确方法是什么.
我面临着一个相当有趣的问题.我有一个具有以下结构的表:
CREATE TABLE [dbo].[Event]
(
Id int IDENTITY(1,1) NOT NULL,
ApplicationId nvarchar(32) NOT NULL,
Name nvarchar(128) NOT NULL,
Description nvarchar(256) NULL,
Date nvarchar(16) NOT NULL,
Time nvarchar(16) NOT NULL,
EventType nvarchar(16) NOT NULL,
CONSTRAINT Event_PK PRIMARY KEY CLUSTERED ( Id ) WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON
)
)
Run Code Online (Sandbox Code Playgroud)
所以问题是我必须在网格中显示这些数据.有两个要求.第一个是显示所有事件,而不管是什么应用程序抛出它们.这很简单 - 选择语句可以非常轻松地完成工作.
第二个要求是能够按事件分组事件Application
.换句话说,以一种方式显示所有事件,如果ApplicationId
重复多次,则只获取每个应用程序的最后一个条目.此查询/视图中不再需要此时事件(Id)的主键.
您可能还注意到事件日期和时间是字符串格式.这没关系,因为它们遵循标准的日期时间格式:mm/dd/yyyy和hh:mm:ss.我可以按如下方式提取:
Convert( DateTime, (Date + ' ' + Time)) AS 'TimeStamp'
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我在其余列上使用AGGREGATE函数,我不知道它们会如何表现: …
试图找出如何编写动态数据透视sql语句.哪里TEST_NAME
可以有多达12个不同的值(因此有12列).一些VAL将是Int,Decimal或Varchar数据类型.我见过的大多数例子都包括一些聚合.我期待一个直接价值的支点.
Source Table
????????????????????????????
? TEST_NAME ? SBNO ? VAL ?
????????????????????????????
? Test1 ? 1 ? 0.304 ?
? Test1 ? 2 ? 0.31 ?
? Test1 ? 3 ? 0.306 ?
? Test2 ? 1 ? 2.3 ?
? Test2 ? 2 ? 2.5 ?
? Test2 ? 3 ? 2.4 ?
? Test3 ? 1 ? PASS ?
? Test3 ? 2 ? PASS ?
????????????????????????????
Desired Output
????????????????????????????
? SBNO Test1 Test2 Test3 ? …
Run Code Online (Sandbox Code Playgroud) 我想知道是否有人知道从Node.js连接到Microsoft SQL数据库的方法.我知道MySQL驱动程序,但我需要从MS SQL数据库中获取数据,而是直接从Node.js中提取数据而不是破解某种类型的PHP脚本.
使用SQL我想在列中的第3个正斜杠之前返回所有文本
所以
/one/two/three/whatever/testing
Run Code Online (Sandbox Code Playgroud)
会回来:
/one/two/three
Run Code Online (Sandbox Code Playgroud)
在SQL中执行此操作的任何快速而脏的方法(特别是MS SQL 2005+下的MS T-SQL)?
我试图从数据集中选择不同的NAME,但也返回其他列.我有它在一定程度上工作,但只是无法弄清楚如何把它结合在一起.
我怀疑我需要一个WITH x(或者其他东西,但我不确定
这是CODE和它返回的数据的图像.从这里我想只显示WHERE RN=1
在图像中以红色圈出的
显示
Select
row_number() over (partition by tagname order by adddate) as RN,
tagname,
RIGHT(v_AlarmsWithTagname.TagName,charindex('.',REVERSE(v_AlarmsWithTagname.TagName))-1) as SCADA_tag,
convert(varchar(12) , adddate , 101) as AddDate,
left(tagname,CHARINDEX('.',tagname)-1) as 'Table',
[CC_NOTE_LOG].dbo.SCADA_DB.groupid as 'Group',
[CC_NOTE_LOG].dbo.SCADA_DB.dataset as 'Dataset',
[CC_NOTE_LOG].dbo.SCADA_DB.Description as 'Description'
FROM "Buckeye KB".dbo.v_AlarmsWithTagname
join
[CC_NOTE_LOG].dbo.SCADA_DB
on
RIGHT(v_AlarmsWithTagname.TagName,charindex('.',REVERSE(v_AlarmsWithTagname.TagName))-1)=[CC_NOTE_LOG].dbo.SCADA_DB.SCADA_SR_TAG
where
[CC_NOTE_LOG].dbo.SCADA_DB.groupid<>'test' and
[CC_NOTE_LOG].dbo.SCADA_DB.groupid not like 'Keep%' and
[CC_NOTE_LOG].dbo.SCADA_DB.groupid not like 'delete%' and
Tagname not like '%.ES_%' and
Tagname not like '%.OPC_%'
Run Code Online (Sandbox Code Playgroud)
在SQL 2016 Server上,我有一个调用SSIS包的作业.该包位于SSISDB中的一个项目中并具有参数.其中一个参数是字符串类型,默认为空.
我使用此参数的空值运行作业,并成功运行.
然后我打开了作业属性,转到调用该包的步骤并进入配置并为该参数赋值.
我再次运行该作业并成功运行,参数值对结果产生了预期的影响.
现在我想修改作业并将参数设置回空字符串.重复上面的操作,我打开配置并完全删除参数的值.
当我然后尝试保存Job Step属性时,我会在主题行中显示一条错误对话框.
如果我为该参数添加了非空值,则可以保存作业步骤.
当我第一次创建作业时,我能够使用空字符串保存该值.只是当我将值更改为非空字符串,运行作业,然后尝试将其更改为空,我遇到此错误.
我知道我可以运行alter job脚本或删除并重新创建作业步骤来解决这个问题.我不知道如何解决这个问题.
我的问题是:这是一个已知的错误,还是有一个技巧,使用GUI将执行参数的值从字符串值更改为空字符串?
你们中的任何人都可以这样做,或者我的问题可以重现吗?到目前为止,我在搜索中找不到任何内容.
编辑:按照Aaron的评论,我尝试输入一对单引号作为参数的值.工作接受并成功保存.但是当我运行这个工作时,这对单引号实际上被用作参数的值,而不是空字符串.
如何在表中添加BusinessCategories
相关列IsBusinessCategory
值是否为“真”的检查Categories.ID
?
CREATE TABLE [dbo].[Categories](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ParentID] [int] NULL,
[DisplayNameHe] [nvarchar](400) NOT NULL,
[DisplayNameEn] [nvarchar](400) NOT NULL,
[DisplayNameEs] [nvarchar](400) NOT NULL,
[CreateDate] [datetime] NOT NULL,
[Status] [bit] NOT NULL,
[IsBusinessCategory] [bit] NULL
)
CREATE TABLE [dbo].[BusinessCategories](
[ID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[BusinessCategoryID] [INT] NOT NULL REFERENCES Categories(ID) -- Need to check that is
businessCategory ==1
[BusinessID] [INT] NOT NULL REFERENCES Business(ID)
)
Run Code Online (Sandbox Code Playgroud)
目标是能够仅将具有IsBusinessCategory == true 的Categories表中的值插入到列 …
网络是我硕士学位的最后一门课程.我确实有一个关于如何计算非持久性,持久性和持久性与流水线的http的往返时间的问题.
花了无数个小时阅读有关问题,从其他unis下载笔记,甚至搜索youtube视频我无法解决这个问题.
为了理解如何计算RTT,我们只是说客户端要求包含10个图像的HTML页面.[让我们将传播延迟保持为零.]
请遵循我的逻辑
首先,TCP连接的3路握手计为1 RTT.TCP连接关闭时也是如此.
1)在非持久性HTTP中,我们必须建立TCP连接,因此到目前为止它是1个RTT.由于我们有10个对象,我们将有2*10 = 20个RTT.这导致1RTT +20 RTT = 21 RTT.[另一种可以计算的方法是说,因为它每次打开新的连接,对于10个对象,它将需要3个RTT,因此它将是30个RTT.
2)在持久性HTTP中,我们需要一个1RTT用于连接,1个用于每个对象.这导致1RTT + 10RTT = 11 RTT.[我应该添加一个RTT来关闭连接,从而导致12个RTT?根据我的理解,它会在一段时间后自行消失.]
3)在使用流水线操作的持久HTTP中,我们需要一个RTT来打开TCP连接,一个RTT发送10个对象,一个RTT来关闭连接.这导致1RTT + 1RTT + 1RTT = 3 RTT.
任何有关此事的帮助将非常感谢!
我有以下SQL查询
select s.comments + s.further_comments from dbo.samples s where id = 1234
Run Code Online (Sandbox Code Playgroud)
但是,如果s.comments或s.further_comments为NULL,则整个字符串返回NULL
如何将NULL值转换为空字符串或至少仅返回此字符串中的非NULL值?
谢谢
sql-server ×6
sql ×5
t-sql ×2
etl ×1
http ×1
node-mssql ×1
node.js ×1
partition ×1
persistent ×1
pipelining ×1
pivot ×1
row-number ×1
ssis ×1
string ×1
substring ×1
tcp ×1