我正在使用SQL Server 2012,我有一个名为的表StayInfo.
它具有以下结构(提取):
Name ArrDate DepDate ID
A 2016-03-29 2016-04-02 100
B 2016-05-10 2016-05-12 250
Run Code Online (Sandbox Code Playgroud)
我想从T-SQL查询输出以下内容:
Name Date ID
A 2016-03-29 100
A 2016-03-30 100
A 2016-03-31 100
A 2016-04-01 100
A 2016-04-03 100
B 2016-05-10 250
B 2016-05-11 250
B 2016-05-12 250
Run Code Online (Sandbox Code Playgroud)
我面临的主要困难是每天执行拆分所需的SQL代码.
我正在使用SQL Server 2012,我需要创建一个SSIS包来运行T-SQL特定文件夹中的查询列表.
我的T-SQL查询列表以'01(查询名称).sql'开头,该文件夹包含25个查询的列表.我需要从查询'01 ...'到'25 ......开始运行这些查询的任务
这可以在SSIS包中创建吗?如果是,我应该使用哪个任务?
更新1
我尝试了@Hadi建议的第一种方法,脚本任务抛出以下异常
错误:调用目标抛出了异常
SSDT中我的任务的屏幕截图
脚本任务VB代码
<Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute()> _
<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
Public Sub Main()
Using sr As New IO.StreamReader(Dts.Variables("strFilename").Value.ToString)
Dts.Variables("strQuery").Value = sr.ReadToEnd()
sr.Close()
End Using
Dts.TaskResult = ScriptResults.Success
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
变量
我正在使用SQL Server 2012,我需要我的T-SQL查询来排除特定时期内的特定时间范围。
我的过滤逻辑如下:
2016-07-01提取介于和2017-03-25之间的所有数据2017-07-01,2018-03-25并且排除上述过滤时间内周六和周日的所有日期。
我的T-SQL查询如下:
SELECT * from Table1
WHERE [CreatedOn] between ...
AND DATENAME(dw,[CreatedOn]) NOT IN ('Saturday', 'Sunday')
Run Code Online (Sandbox Code Playgroud)
我被困在如何正确编写逻辑上Line 2!
我正在编写一个Windows批处理文件,batch file应该在特定文件夹中输出一个文件。我希望文件名写成如下:
filename-yyyymmdd.csv
Run Code Online (Sandbox Code Playgroud)
其中 yyyymmdd 代表当前日期。
我的batch file代码如下:
cd:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
bcp "SELECT TOP 100 * FROM xxxx.dbo.xxxxx" queryout c:\test\csv\confirmed.csv -t, -c -S xxxx\xxxxx -U xxx -P xxxxxxxxxx
set mydate=%date:~10,4%%date:~4,2%%date:~7,2%
echo %mydate%
copy c:\test\csv\confirmed.csv c:\test\csvwithdates\confirmed-%mydate%.csv
Run Code Online (Sandbox Code Playgroud)
我得到以下文件名作为输出: confirmed-ay18.csv
期望的输出: confirmed-20180528.csv
我查看了以下问题,StackOverflow但我很难实施建议的答案:
在 Windows 批处理文件中以 YYYYMMDD 格式获取日期
我究竟做错了什么?
假设我有以下dataframe的R:
df1 <- read.csv("jan.csv", stringsAsFactors = FALSE, header = TRUE)
str(df1)
'data.frame': 4 obs. of 5 variables:
$ JANUARY: chr "D-150" "D-90" "D-60" "D-30"
$ X2016 : num 0.24 0.5 0.63 0.76
$ X2017 : num 0.32 0.45 0.6 0.79
$ X2018 : num 0.2 0.4 0.61 0.82
$ X2019 : num 0.21 0.35 0.63 0.85
Run Code Online (Sandbox Code Playgroud)
我如何使用ggplot2输出如下图所示的图形(制作Excel):
我很乐意制作一个简单的column chartin,ggplot2但我正在努力对如上所示的条形图进行分组并放置相关的标签.另外,我需要重塑数据才能实现这一目标吗?
我将以下T-SQL代码配置为使用SQL Server代理作业每天运行.我的数据库在SQL Server 2012上运行.
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\;HDR=YES;FMT=Delimited','SELECT * FROM [myfile.csv]')
SELECT ReservationStayID,NameTitle,FirstName,LastName,ArrivalDate,DepartureDate FROM [GuestNameInfo]
Run Code Online (Sandbox Code Playgroud)
我的问题是此查询的输出将附加到csv文件中的现有记录.我希望每次运行SQL Server代理作业时输出都覆盖现有内容.
如何修改我的查询以实现此目的?
我正在使用 ggplot2 创建一个箱线图。我的 R 代码如下:
ggplot(mydata4, aes(PropertyCode,Total.Extras.Per.GN, fill=Original.Meal.Plan.Code))+
geom_boxplot(outlier.shape=NA) +
ylim(c(0,1000))
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出:
但是,在将以下代码行添加到我现有的代码后,我最终得到了图 2(如下所示):
+ scale_y_continuous(breaks = seq(0, 1000, by=100))
Run Code Online (Sandbox Code Playgroud)
如您所见,它扭曲了整个图形。我如何维护我的图表如图 1 所示,同时在 y 轴上显示正确的间隔?
我正在使用,SQL Server 2012并且有以下T-SQL查询。但是,它在执行时给我一条错误消息。
错误消息是:
Msg 1014, Level 15, State 1, Line 2
A TOP or FETCH clause contains an invalid value.
Run Code Online (Sandbox Code Playgroud)
我的T-SQL查询如下:
;WITH N(N)AS
(SELECT 1 FROM(VALUES(1),(1),(1),(1),(1),(1),(1),(1),(1),(1))M(N)),
tally(N)AS(SELECT 1 FROM N,N a,N b,N c,N d)
INSERT INTO Allot4
SELECT
b.Date as [TDate],
Season,
RN,
TAProfileID,
TOName,
Market,
RoomType,
Property,
TOType
FROM Allot3 a
CROSS APPLY
(
SELECT top(datediff(d,Datefrom,case when DateTo >= DateFrom
then dateadd(d, 1, DateTo) else DateFrom end))
DATEADD(d,row_number()over(order by 1/0)-1, DateFrom) Date …Run Code Online (Sandbox Code Playgroud) 我正在使用SQL Server 2012并且需要对名为 的特定字段执行搜索Notes。搜索条件是查找8%在该特定字段中提及该术语的所有行。
WHERE我的查询的子句如下T-SQL所示:
WHERE [Notes] like '%[8%]%'
Run Code Online (Sandbox Code Playgroud)
但是,查询未根据上述语法正确过滤。它还包括8提及该术语的行。
我查看了下面问题中提出的答案,但他们仍然没有给我正确的答案。
sql-server ×7
t-sql ×6
sql ×4
r ×3
date ×2
ggplot2 ×2
batch-file ×1
bcp ×1
boxplot ×1
charts ×1
correlation ×1
csv ×1
etl ×1
openrowset ×1
python ×1
scatter-plot ×1
sql-like ×1
ssis ×1
ssis-2012 ×1
syntax-error ×1
windows ×1