标签: sql-server-2014

将SQL Server日期转换为mm-yyyy

我正在尝试将我的日期(例如2012-04-20 05:54:59)格式转换为mm-yyyy.我遇到了一些解决方案,说你需要转换成varchar.有没有办法使用转换功能?

谢谢 :)

sql t-sql sql-server sql-server-2014

10
推荐指数
2
解决办法
6万
查看次数

舍入日期到该月的第一天

我正在使用SQL Server 2014,我正在使用我的一个表中的列,列出了到达日期.

它采用以下格式:

ArrivalDate
2015-10-17 00:00:00.000
2015-12-03 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

我正在编写一个查询,从上表中提取数据,包括ArrivalDate列.但是,我需要转换日期,以便它们成为各自月份的第一天.

换句话说,我的查询应该输出上面的例子,如下所示:

2015-10-01 00:00:00.000
2015-12-01 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

我需要这个,以便我可以在PowerPivot模型中与我的日期表建立关系.

我尝试过这种语法,但它不符合我的要求:

CONVERT(CHAR(4),[ArrivalDate], 100) + CONVERT(CHAR(4), [ArrivalDate], 120) AS [MTH2]
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server date sql-server-2014

10
推荐指数
4
解决办法
2万
查看次数

如何获取序列中的下一个数字

我有这样一张桌子:

+----+-----------+------+-------+--+
| id | Part      | Seq  | Model |  |
+----+-----------+------+-------+--+
| 1  | Head      | 0    | 3     |  |
| 2  | Neck      | 1    | 3     |  |
| 3  | Shoulders | 2    | 29    |  |
| 4  | Shoulders | 2    | 3     |  |
| 5  | Stomach   | 5    | 3     |  |
+----+-----------+------+-------+--+
Run Code Online (Sandbox Code Playgroud)

如何在Stomach模型3 之后插入下一个seq的另一条记录.所以这是新表假设的样子:

+----+-----------+------+-------+--+
| id | Part      | Seq  | Model |  |
+----+-----------+------+-------+--+ …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2014

10
推荐指数
1
解决办法
5559
查看次数

SQL Server 2014:SSISDB与MSDB进行包部署

我目前正在从SQL Server 2008R2升级到2014(两者都是Enterprise).有大量的SSIS作业正在生产中,需要迁移.我正试图了解如何管理未来的SSIS工作.

在2008R2中,我总是使用BIDS将软件包部署到MSDB.然后通过SQL Server控制所有权限.

在2014年,我看到您仍然可以保存到文件系统或MSDB,但现在存在您作为Integration Services目录创建的SSISDB.通过添加简单的变量访问甚至环境变量,这种方法显然可以提供更大的灵活性.

在2014年将SSIS包部署到SSISDB现在是部署和管理SSIS项目的最佳实践方式,而不是部署到MSDB?我还能管理权限吗?当我备份SSISDB时,是否备份了所有部署的项目(就像以前一样使用MSDB)?最后,当我通过SQL代理安排这些软件包时,它们的行为是否仍然相同,其中SQL代理服务帐户和作业所有者的权限在运行时确定SSIS包的权限?

非常感谢任何可以提供帮助的人.我整天都在微软的网站上,虽然文档非常有用,但实际上并没有回答这些问题的具体问题.

sql-server ssis bids sql-server-2014

9
推荐指数
1
解决办法
1万
查看次数

如何修复错误"SQL Server代理自动停止"?

我正在使用SQL Server 2014并遇到问题.

在" 任务管理器 "的" 服务"选项卡上,我找到了SQLAgent $ VILLBE_SQLSERVER(VILLBE是我的计算机名),右键单击"开始".

它开始并在1秒钟后停止.

然后,我打开SERVICES.MSC,并启动SQL Server代理(VILLBE_SQLSERVER) .它正在发挥作用.

30秒后,它会自动停止.当我再次点击Start时,它说:

The SQL Server Agent (VILLBE_SQLSERVER) service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs.
Run Code Online (Sandbox Code Playgroud)

最后,我右键单击SQL Server Agent,选择Properties,将Start up type设置为Automatic并重启我的PC.

重新启动完成后,SQL Server代理仍然停止

其他一些服务:

SQL Server Browser - Running - Automatic (start up) …
Run Code Online (Sandbox Code Playgroud)

sql-server-2014

9
推荐指数
1
解决办法
7万
查看次数

从列表中返回随机值

我正在使用SQL Server 2014,并希望利用新功能CHOOSE和RAND.基本上想从列表中返回随机颜色.

就像是:

Select CHOOSE(RAND(29), 'bg-blue', 'bg-blue-madison', 'bg-blue-hoki', 'bg-blue-steel', 'bg-blue-chambray',
                    'bg-green-meadow', 'bg-green', 'bg-green-seagreen', 'bg-green-turquoise', 'bg-green-haze', 'bg-green-jungle',
                    'bg-red', 'bg-red-pink', 'bg-red-sunglo', 'bg-red-intense', 'bg-red-thunderbird', 'bg-red-flamingo',
                    'bg-yellow', 'bg-yellow-gold', 'bg-yellow-casablanca', 'bg-yellow-lemon',
                    'bg-purple', 'bg-purple-plum', 'bg-purple-studio', 'bg-purple-seance',
                    'bg-grey-cascade', 'bg-grey-silver', 'bg-grey-steel', 'bg-grey-gallery') AS Colour
Run Code Online (Sandbox Code Playgroud)

可能吗?

sql-server sql-server-2014

9
推荐指数
2
解决办法
965
查看次数

如何将值插入具有外键关系的两个表中?

我创建了两个表:

  • tblStaff的列id(主键,自动递增)name,age,address

  • tblRoleOfStaff的列id(主键,自动递增), StaffId(外键tblStaff)RoleId

我有形式来创建具有现有角色的新员工.要插入的数据样本:

(name, age, address, roleId) = ('my name',20,'San Jose', 1)
Run Code Online (Sandbox Code Playgroud)

我想写在SQL Server 2014存储过程中插入新员工tblStaff,并插入新记录tbleRoleOfStaffstaffId我刚插入.

我该怎么办?

如果我的问题与其他问题重复,我很抱歉.我对SQL更新.谢谢你的帮助.

sql database sql-server sql-server-2014

9
推荐指数
2
解决办法
3万
查看次数

SQL Server查询优化 - 简单查询中的意外缓慢

可能的解释在评论中

在SQL Server 2014企业版(64位)中 - 我试图从视图中读取.标准查询只包含一个ORDER BY和这样的OFFSET-FETCH子句.

方法1

SELECT

    *

FROM Metadata
ORDER BY
    AgeInHours      ASC, 
    RankingPoint    DESC, 
    PublishDate     DESC
OFFSET 150000 ROWS
FETCH NEXT 40 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)

但是,这个相当简单的查询比以下返回相同结果的查询执行快9倍(在跳过大量行(如150k)时显而易见).

在这种情况下,我首先读取主键,然后将其用作WHERE...IN函数的参数

方法2

SELECT 
    * 
FROM Metadata
WHERE NewsId IN (
    SELECT

        NewsId

    FROM Metadata
    ORDER BY
        AgeInHours      ASC, 
        RankingPoint    DESC, 
        PublishDate     DESC
    OFFSET 150000 ROWS
    FETCH NEXT 40 ROWS ONLY
)
ORDER BY
    AgeInHours      ASC, 
    RankingPoint    DESC, 
    PublishDate     DESC
Run Code Online (Sandbox Code Playgroud)

这两个基准标记显示了这种差异

(40 row(s) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server database-performance query-performance sql-server-2014

9
推荐指数
1
解决办法
418
查看次数

实体框架"从数据库更新模型"重新创建基类和子类之间的关联

我试图首先使用Entity Framework实现一些基类/子类.在一些在线教程之后,我决定尝试TPT继承.

在数据库中,我有一个基类表'Location'和两个子类表:'StreetAddress'和'RuralRouteAddress'.我已经在子类表和主键上的基类表之间定义了外键约束.'Location的主键是一个自动增量列,两个子类表的主键不是自动增量.

在实体框架中,我将两个子类的"基本类型"定义为"位置".然后,我从模型中删除了关联(及其相应的导航属性).我还从子类中删除了ID列映射,因为ID现在继承自"Location"基类.

这似乎有效.我没有尝试更新/插入,但查询返回具有适当继承的数据.

我的问题是,每当我'从数据库更新模型'时,他的继承关联线都会停留,但是基类和子类之间的FK关联会被带回来...... 然后我必须删除它们,并重新对齐我的图表上的关联线(我对模型图的布局有点挑剔).

这并不是那么糟糕,但我想使用TPT继承的项目有很多继承.每次更新模型时,必须删除大量关联并重新组织我的整个图表并不是很吸引人.

我实现继承时是否做错了什么?有没有办法忽略/排除在更新模型时创建某些关联?

inheritance entity-framework sql-server-2014

9
推荐指数
1
解决办法
152
查看次数

自定义代码类似于SQL Server 2014中的DATEDIFF_BIG

我正在使用SQL Server 2014.当我想将上一行日期时间与第二行中的当前行进行比较时,我遇到了问题.错误说明:

日期函数导致溢出.分隔两个日期/时间实例的日期部分数量太大.尝试使用具有不太精确的日期部分的datediff.

SQL Server 2016解决了这个问题,DATEDIFF_BIG但SQL Server 2014不支持该功能.目前还没有计划使用SQL Server 2016更改数据库服务器.

任何替代解决方案将不胜感激.

SELECT ROW_NUMBER() OVER (Order by A.MDetailID) as Row
  , DATEDIFF(SECOND, A.CreatedDate, LEAD(A.CreatedDate,1,0) OVER (ORDER BY A.CreatedDate))
FROM dbo.tbl_VehicleLiveMovementDetail A
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2014

9
推荐指数
1
解决办法
245
查看次数