标签: sql-server

在SQL Server中设置日期

在SQL Server中,如何将DATETIME"置于"第二/分钟/小时/日/年?

假设我的日期是2008-09-17 12:56:53.430,那么地板的输出应该是:

  • 年:2008-01-01 00:00:00.000
  • 月:2008-09-01 00:00:00.000
  • 日:2008-09-17 00:00:00.000
  • 时间:2008-09-17 12:00:00.000
  • 会议纪要:2008-09-17 12:56:00.000
  • 第二名:2008-09-17 12:56:53.000

t-sql sql-server

69
推荐指数
4
解决办法
6万
查看次数

DBCC CHECKIDENT将标识设置为0

我正在使用此代码重置表上的标识:

DBCC CHECKIDENT('TableName', RESEED, 0)
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下工作正常,第一个插入我将1插入Id列.但是,如果我删除数据库并重新创建它(使用我编写的脚本)然后调用DBCC CHECKIDENT,则插入的第一个项目的ID将为0.

有任何想法吗?

编辑:经过研究我发现我没有正确阅读文档:http: //msdn.microsoft.com/en-us/library/aa258817(SQL.80).aspx - "当前标识值设置为new_reseed_value.如果自创建以来没有向表插入任何行,则在执行DBCC CHECKIDENT后插入的第一行将使用new_reseed_value作为标识.否则,插入的下一行将使用new_reseed_value + 1.

sql sql-server

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

SqlDateTime.MinValue!= DateTime.MinValue,为什么?

我想知道,为什么SqlDateTime.MinValue与DateTime.MinValue不一样?

.net sql-server datetime types

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

使用函数获取两个日期之间的日期列表

我的问题类似于这个 MySQL问题,但是用于SQL Server:

是否有函数或查询将返回两个日期之间的天数列表?例如,假设有一个名为ExplodeDates的函数:

SELECT ExplodeDates('2010-01-01', '2010-01-13');
Run Code Online (Sandbox Code Playgroud)

这将返回一个包含以下值的列表:

2010-01-01
2010-01-02
2010-01-03
2010-01-04
2010-01-05
2010-01-06
2010-01-07
2010-01-08
2010-01-09
2010-01-10
2010-01-11
2010-01-12
2010-01-13
Run Code Online (Sandbox Code Playgroud)

我认为日历/数字表可能能够帮助我.


更新

我决定查看提供的三个代码答案,执行结果 - 占总批次的百分比 - 是:

越低越好

我已经接受了Rob Farley的答案,因为它是最快的,尽管数字表解决方案(KM和StingyJack在他们的答案中使用)都是我的最爱.Rob Farley的速度提高了三分之二.

更新2

阿丽维亚的答案更为简洁.我已经改变了接受的答案.

sql-server date

69
推荐指数
4
解决办法
15万
查看次数

以编程方式测试SQL Server连接的最佳方法是什么?

我需要开发一个将每5分钟触发一次的例程,以检查SQL Server(10到12)列表是否已启动并运行.

我可以尝试在每个服务器中获取一个简单的查询,但这意味着我必须在每个服务器中创建一个表,视图或存储过程,即使我使用任何已经制作的SP我需要在每个服务器中都有一个注册用户服务器也是.服务器不在同一物理位置,因此具有这些要求将是一项复杂的任务.有没有办法简单地从C#one SQL Server"ping"?

提前致谢!

c# sql-server database-connectivity

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

在SQL Server游标中获取多个值

我有一个游标,其中包含我想要一次处理的行中的几列.我注意到我看到的关于如何使用游标的大多数示例都显示它们将光标中的特定列一次分配给一个标量值,然后移动到下一行,

例如

OPEN db_cursor  
FETCH NEXT FROM db_cursor INTO @name  

WHILE @@FETCH_STATUS = 0  
BEGIN  
       --Do Stuff with @name scalar value, then get next row from cursor

       FETCH NEXT FROM db_cursor INTO @name  
END
Run Code Online (Sandbox Code Playgroud)

我想知道的是,是否可以执行以下操作:

    OPEN db_cursor  
    FETCH NEXT FROM db_cursor; 

    WHILE @@FETCH_STATUS = 0  
    BEGIN  
           SET @myName = db_cursor.name;
           SET @myAge = db_cursor.age;
           SET @myFavoriteColor = db_cursor.favoriteColor;
           --Do stuff with scalar values

           FETCH NEXT FROM db_cursor; 
    END
Run Code Online (Sandbox Code Playgroud)

总是感谢帮助.

sql t-sql sql-server cursor

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

Node.js和Microsoft SQL Server

有什么方法可以让我的Node.js应用程序与Microsoft SQL通信?我没有在野外看到任何MS SQL驱动程序?

我将一个非常简单的应用程序放在一起,需要能够与现有的MS SQL数据库进行通信(否则我会使用mongoDB或Redis)

sql-server node.js node-mssql tedious

69
推荐指数
7
解决办法
6万
查看次数

SQL Server Profiler:如何为"NOT LIKE"列过滤器指定多个值

根据:http: //msdn.microsoft.com/en-us/library/ms175061.aspx 它说"NOT LIKE"关系运算符:"指定跟踪事件数据不能像输入的文本一样.允许多个值".

但是,您如何指定多个值?

sql-server profiler

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

SQL Server - 布尔文字?

如何在SQL Server中编写文字布尔值?参见样品使用:

select * from SomeTable where PSEUDO_TRUE
Run Code Online (Sandbox Code Playgroud)

另一个样本:

if PSEUDO_TRUE
begin
  select 'Hello, SQL!'
end 
Run Code Online (Sandbox Code Playgroud)

注意:上面的查询与我将如何使用它无关.它只是测试文字布尔值.

sql sql-server boolean literals

69
推荐指数
8
解决办法
17万
查看次数

如何使用PowerShell执行.sql文件?

我有一个 .sql文件.我试图通过Powershell脚本传递连接字符串详细信息并调用.sql文件.

我正在搜索并想出了一个与之相关的cmdlet Invoke-sqlcmd.当我试图找到一个与SQL相对应的模块时,我在我的机器中找不到任何一个模块.

我应该在我的机器中安装任何东西(机器已经有SQL Server Management Studio 2008 R2)来获取模块,还是有简单的方法.sql使用Powershell 执行文件?

sql sql-server powershell powershell-module

69
推荐指数
5
解决办法
11万
查看次数