标签: sql-server-2008-r2

DateTime相当于PostgreSQL 9.2中的Sql Server 2008

我应该在PostgreSql 9.2中使用带时区的时间戳或时间戳吗?哪一个与Sql Server 2008的日期时间版本匹配.

postgresql sql-server-2008-r2 postgresql-9.2

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

在SQL Server上将日期存储为BigInt - 这是一个好主意吗?

好的,现在让我举个例子

日期: 15.12.2012 00:16:39

现在这将存储为

20121215001639
Run Code Online (Sandbox Code Playgroud)

现在例如,如果我想要检索超过30分钟的行(30*60 = 1800秒)

我可以这样做

where date<20121215001639+1800 
Run Code Online (Sandbox Code Playgroud)

那么这是一种表现方式而不是存储日期时间吗?

sql-server datetime date bigint sql-server-2008-r2

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

在没有ORDER BY子句的情况下,为什么SQL Server 2000的行为与SQL Server 2008不同?

我们正在使用SQL Server 2008 R2.我们有一个名为PD(6列)的表,它有一个NO主键,没有任何列的索引.当我们执行查询时

select * from PD where ESE='bycad'
Run Code Online (Sandbox Code Playgroud)

如果没有ORDER BY子句,我们每次执行相同的查询时都会以不同的顺序获得结果.我们曾经在两个月前使用SQL Server 2000并且从未遇到过这个问题.

这是SQL Server 2008中的错误吗?我知道我们应该使用ORDER BY子句,但为什么SQL Server 2008在没有ORDER BY子句的情况下处理不同的SQL查询?

sql sql-server-2000 sql-server-2008 sql-server-2008-r2

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

表之间没有关系 - 它会影响查询性能吗?

可能重复:
外键是否提高了查询性能?

我正在处理没有关系的表(但数据是相关的).我在这些表之间抛出JOIN查询.如果我添加关系,它会提高性能吗?(PS -I将在未来添加关系以保持数据完整性,现在我正在努力提高性能.感谢您的帮助.)

sql-server sql-server-2008-r2

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

SQL默认ELSE值

在下面的SQL查询中,我有一个没有其他的选择案例

 SET dateformat mdy 
    DECLARE @DATE1 DATETIME 
    SET @DATE1 = '12/31/2011' 
    DECLARE @DATE2 DATETIME 
    SET @DATE2 = '06/01/2012' 


    UPDATE tablx
    SET xdate = case WHEN xdate is null and odate BETWEEN @Date1 AND @Date2 then odate end
Run Code Online (Sandbox Code Playgroud)

是否存在其他区别,在上述情况下,NULL如果条件不满足,即使我没有写,xdate值也会被填充ELSE NULL

sql sql-server-2008-r2

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

尝试在一个事务中查询然后更新表

规格为存储过程是:
要选择并返回Id从我的表tb_r12028dxi_SandpitConsoleProofClient,一旦我选择了这个纪录,它需要被标记(顺序并不重要刚刚找到会做顶1) 'P',这样它不会选择再次.

这是存储过程:

ALTER PROCEDURE [dbo].[r12028dxi_SandpitConsoleProofSweep]
    @myId INT OUTPUT
AS

/*
DECLARE @X INT
EXECUTE [xxx].[dbo].[r12028dxi_SandpitConsoleProofSweep] @X OUTPUT
SELECT @X
*/

DECLARE @NumQueue INT = (
            SELECT [cnt] = COUNT(*) 
            FROM xxx.DBO.tb_r12028dxi_SandpitConsoleProofClient
            WHERE [Status] IS NULL
            );
IF @NumQueue > 0 
    BEGIN

        BEGIN TRANSACTION;

        DECLARE @foundID INT = (SELECT TOP 1 Id FROM xxx.DBO.tb_r12028dxi_SandpitConsoleProofClient WHERE [Status] IS NULL);

        UPDATE x
        SET x.[Status] = 'P'
        FROM xxx.DBO.tb_r12028dxi_SandpitConsoleProofClient x
        WHERE x.Id = @foundID 

        SET @myId = …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008-r2

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

使用逗号分隔的类似数组的字符串执行存储过程

可能重复:
使用逗号分隔参数帮助进行SQL搜索查询

我想编写一个存储过程,在表上执行select并需要一个类型的输入变量varchar(max).

我想发送一堆由,输入参数分隔的值,例如

'Jack','Jane','Joe'
Run Code Online (Sandbox Code Playgroud)

然后获取包含其中一个名称的行.

在SQL中,代码将是

Select * from Personnel where Name in ('Jack','Joe','Jane');  
Run Code Online (Sandbox Code Playgroud)

现在我想在我的C#应用​​程序中有一个变量,比如strNames并填充它

string strNames = "'Jack','Joe','Jane'";
Run Code Online (Sandbox Code Playgroud)

并将此变量发送到SP并执行它.就像是

Select * from Personnel where Name in (''Jack','Joe','Jane'') -- this is wrong
Run Code Online (Sandbox Code Playgroud)

但是,如何告诉SQL Server运行此命令?

我需要做到这一点,我知道这是可能的,请给我一些线索.

.net c# sql t-sql sql-server-2008-r2

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

OPENROWSET BULK共享文件夹的权限

目的

使用OPENROWSET功能在查询中对文本文件加入数据.

错误

利用@gbn关于这个问题的答案,我试图打开一个像OP一样的行集; 虽然文件的格式有点不同.但是,我尝试访问共享文件夹时出现以下错误:

Msg 4861,Level 16,State 1,Line 1

无法批量加载,因为无法打开文件"\ MACHINENAME\Share\EC04.txt".操作系统错误代码5(访问被拒绝.).

背景

请理解,我会不会有访问SQL服务器,所以我不能把一个文件存在.

该文件驻留在Windows 7 x64计算机上.

该文件夹已Read/Write与之共享Everyone.

有人可以帮我理解我需要提供哪些其他安全性才能允许SQL服务器访问此文件夹?

sql-server bulk-load sql-server-2008 sql-server-2008-r2 network-security

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

SQL Server 2008 R2中的隔离级别

我已经通过整个Microsoft站点来了解SQL Server 2008 R2中的隔离级别.但在采用之前,我想听取SO专家的建议.

我有一个基于PHP的网页,主要用作仪表板.用户(不超过5个)每天将上传批量数据(大约40,000行),大约70个用户只能访问数据库.请注意,我已经为这5个用户上传了固定的时间表,但我想错误地证明任何数据丢失的证据.请帮我解决以下问题:

  • 我可以使用的最佳隔离级别是多少?
  • 默认的READ COMMITTED隔离是否可以帮助我?
  • 还有一种方法可以通过SSMS为特定数据库设置隔离级别,而不是TSQL语句吗?(数据库的通用隔离)

70个用户将拥有下载选项,如果所有或大部分数据库同时尝试下载,是否有可能损坏数据库?我该如何避免?

专家提出的任何建议......

此致,Yuvraj S.

sql-server sql-server-2008-r2

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

比较哈希编码的密码

passwordstring数据类型存储我的数据库表列.在将其存储到数据库之前,我正在Hash encoded使用下面的c#方法:

public static string Md5Encrypted(string password)
        {
            byte[] pass = Encoding.UTF8.GetBytes(password);
            MD5 md5 = new MD5CryptoServiceProvider();
            string strPassword = Encoding.UTF8.GetString(md5.ComputeHash(pass));
            return strPassword;
        } 
Run Code Online (Sandbox Code Playgroud)

现在我想compare插入新密码时想要它.

为此,我从数据库中获取特定用户的记录,并以字符串形式获取其现有的编码密码.如果我使用相同的密码,那么它也不匹配.例如,如果我adgjl135作为密码传递,它被编码为Pb?ZsÈU??}??但是从数据库编码我得到的Pb?ZsÈU??}??但显然它们不匹配.那我该如何比较呢?任何的想法??

c# sql-server asp.net sql-server-2008-r2

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