标签: sql-server

如何在创建存储过程之前检查存储过程是否存在

我有一个SQL脚本,每次客户端执行"数据库管理"功能时都必须运行该脚本.该脚本包括在客户端数据库上创建存储过程.其中一些客户端在运行脚本时可能已经有了存储过程,有些可能没有.我需要将缺少的存储过程添加到客户端数据库中,但是我尝试弯曲T-SQL语法并不重要,我得到了

CREATE/ALTER PROCEDURE'必须是查询批处理中的第一个语句

在创作作品之前我已经读到了它,但我不喜欢这样做.

IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO

CREATE PROCEDURE MyProc
...
Run Code Online (Sandbox Code Playgroud)

如何添加检查存储过程是否存在并创建它(如果它不存在)但如果存在则更改它?

sql t-sql sql-server stored-procedures

266
推荐指数
10
解决办法
50万
查看次数

如何在SQL Server中截断日期时间?

在SQL Server 2008中截断日期时间值(删除小时分钟和秒)的最佳方法是什么?

例如:

declare @SomeDate datetime = '2009-05-28 16:30:22'
select trunc_date(@SomeDate)

-----------------------
2009-05-28 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

sql-server datetime truncate sql-server-2008

265
推荐指数
4
解决办法
50万
查看次数

如何将表移动到T-SQL中的模式中

我想使用T-SQL将表移动到特定的Schema中?我正在使用SQL Server 2008.

t-sql sql-server schema sql-server-2008 sql-server-2016

262
推荐指数
2
解决办法
15万
查看次数

为什么要在数据库中创建View?

何时以及为什么有人决定他们需要在他们的数据库中创建一个View?为什么不运行正常的存储过程或选择?

sql t-sql database sql-server

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

使用T-SQL从日期和年份创建日期

我试图将日期与单个部分(如12,1,2007)转换为SQL Server 2005中的日期时间.我尝试了以下内容:

CAST(DATEPART(year, DATE)+'-'+ DATEPART(month, DATE) +'-'+ DATEPART(day, DATE) AS DATETIME)
Run Code Online (Sandbox Code Playgroud)

但这会导致错误的日期.将三个日期值转换为正确的日期时间格式的正确方法是什么.

sql t-sql sql-server sql-server-2005

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

不等于<>!=运算符为NULL

有人可以在SQL中解释以下行为吗?

SELECT * FROM MyTable WHERE MyColumn != NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn <> NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL (568 Results)
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server null

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

如何在SQL Server 2008 Express中的同一服务器上克隆SQL Server数据库?

我有一个MS SQL Server 2008 Express系统,它包含一个我想要"复制和重命名"的数据库(用于测试目的),但我不知道实现这一目的的简单方法.

我注意到在SQL Server的R2版本中有一个复制数据库向导,但遗憾的是我无法升级.

有问题的数据库是围绕着一个演出.我试图恢复我要复制到新数据库的数据库的备份,但没有运气.

sql-server sql-server-2008-express

254
推荐指数
13
解决办法
30万
查看次数

T-SQL:删除所有重复的行但保留一行

可能重复:
SQL - 如何删除重复的行?

我有一个行数非常多的表.不允许重复,但由于行如何创建的问题我知道这个表中有一些重复.我需要从关键列的角度消除额外的行.其他一些列的数据可能略有不同,但我并不关心.我仍然需要保留其中一行.SELECT DISTINCT将无法工作,因为它在所有列上运行,我需要根据键列抑制重复.

如何删除额外的行但仍保持有效?

sql t-sql sql-server

254
推荐指数
3
解决办法
29万
查看次数

在SQL Server中更改列大小

如何salaryemployee表中列的列大小更改numeric(18,0)numeric(22,5)

sql t-sql database sql-server alter-table

253
推荐指数
5
解决办法
65万
查看次数

如何从TSQL日期时间字段获取YYYY-MM-DD格式的日期?

如何从YYYY-MM-DD格式的SQL Server中检索日期?我需要这个与SQL Server 2000及更高版本一起工作.有没有一种简单的方法在SQL Server中执行此操作,还是在检索结果集后以编程方式更容易地进行转换?

我已阅读Microsoft Technet上的CAST和CONVERT,但未列出我想要的格式,并且不能更改日期格式.

t-sql sql-server

252
推荐指数
13
解决办法
107万
查看次数