Tag: tsql

SQL Server中的BetaInv函数

类似于问题: MySQL中的反转beta我需要在SQL Server存储过程中使用BetaInv函数。 函数在这里描述: Excel的BETAINV 是否有人知道TSQL中的任何类似内容,或者您​​将它包装在CLR .NET托管SQL用户定义函数中? 我确实需要在存储过程中使用它,而不是在使用存储过程检索数据后在C#端执行代码,因为我应该将所有逻辑保留在数据库服务器上以便更好地重用。 我可以假设在SQL Server中运行的.NET托管udf的执行速度与普通的本机TSQL函数一样快吗? 谢谢!

带分钟的DATEDIFF不会返回预期值

说,我有以下带有数据的SQL Server 2008表: CREATE TABLE tbl (dtIn DATETIME2, dtOut DATETIME2) INSERT tbl VALUES (‘9/10/2012 5:14:10 AM’, ‘9/10/2012 5:15:09 AM’), (‘9/10/2012 5:16:12 AM’, ‘9/10/2012 5:18:12 AM’), (‘9/10/2012 5:18:43 AM’, ‘9/10/2012 5:23:04 AM’), (‘9/10/2012 5:25:17 AM’, ‘9/10/2012 5:26:05 AM’), (‘9/10/2012 5:26:57 AM’, ‘9/10/2012 5:29:19 AM’), (‘9/10/2012 5:31:41 AM’, ‘9/10/2012 5:32:41 AM’), (‘9/10/2012 5:33:16 AM’, ‘9/10/2012 5:34:08 AM’), […]

比较Entity Framework 5中Any()与Count()的生成查询的性能

在我的项目中,我使用Entity Framework 4.4.0.0,我遇到了以下两难困境。 我必须检查用户是否被激活。 我的查询看起来像: 任何() _context.Users.Any(u => u.Id == userId && u.IsActivated); 生成的sql是: SELECT CASE WHEN ( EXISTS (SELECT 1 AS [C1] FROM [dbo].[Users] AS [Extent1] WHERE ( [Extent1].[Id] = @p__linq__0 ) AND ( [Extent1].[IsActivated] = 1 )) ) THEN cast(1 AS BIT) WHEN ( NOT EXISTS (SELECT 1 AS [C1] FROM [dbo].[Users] AS […]

SqlDbType枚举映射 – C#

我应该将SqlDbType枚举中的值用于numeric T-SQL数据类型?

在基于C#中的存储过程执行查询后,如何为CommandText重用SqlCommand对象?

我有一个示例代码 aCommand.CommandType = CommandType.StoredProcedure; aCommand.Parameters.AddWithValue(“@book_id”, bookID); aCommand.Parameters.AddWithValue(“@user_id”, userID); 之后我想使用CommandText执行一个简单的查询: aCommand.CommandText = “SELECT * FROM aTABLE”; aCommand.ExecuteNonQuery(); 但是错误发生了: 例外:找不到存储过程’SELECT * FROM aTABLE’ 在这种情况下,我必须创建一个新的SqlCommand对象实例? 这是一种使用相同的SqlCommand对象来避免创建一个的方法吗?

基于.net ComputeHash的SQL CLRfunction不适用于Cyrrilic

我编写了以下SQL CLR函数,以便散列大于8000字节的字符串值( T-SQL内置HASHBYTES函数的输入值的限制): [SqlFunction(DataAccess = DataAccessKind.None, IsDeterministic = true)] public static SqlBinary HashBytes(SqlString algorithm, SqlString value) { HashAlgorithm algorithmType = HashAlgorithm.Create(algorithm.Value); if (algorithmType == null || value.IsNull) { return new SqlBinary(); } else { byte[] bytes = Encoding.UTF8.GetBytes(value.Value); return new SqlBinary(algorithmType.ComputeHash(bytes)); } } 它适用于拉丁字符串。 例如,以下哈希值是相同的: SELECT dbo.fn_Utils_GetHashBytes (‘MD5’, ‘test’); — 0x098F6BCD4621D373CADE4E832627B4F6 SELECT HASHBYTES (‘MD5’, ‘test’); […]

Linq:使用三个嵌套级别进行查询

所以我有三张桌子: CREATE TABLE tblUser ( [pkUserID] [int] IDENTITY(1,1) NOT NULL, [userName] [varchar](150) NULL, [fkCompanyID] [int] NOT NULL ) CREATE TABLE tblCompany ( [pkCompanyID] [int] IDENTITY(1,1) NOT NULL, [name] [varchar](255) NULL ) CREATE TABLE tblSystem ( [pkSystemID] [int] IDENTITY(1,1) NOT NULL, [systemName] [varchar](150) NULL, [fkCompanyID] [int] NULL ) 这些是我的数据传输对象: public class SystemDTO { public int pkSystemId […]

如何在EF中执行日期部分比较

我听说人们说日期时间比较不起作用只是因为时间部分,因为datetime有时间部分。 在SQL中我总是像这样比较日期时间,它工作正常 select * from employee where convert(varchar,dob,112) > ‘20111201’ // this yyyymmdd format. 我怎么能在LINQ查询中模拟这个?

如何从SqlDataReader解析Nullable

DateTime.TryParse方法将DateTime作为参数,而不是DateTime? ? 现在我有以下代码: if(!DateTime.TryParse(reader[“Placed”].ToString(), out _placed)){ throw new Exception(“Order’s placed datetime could not be parsed.”); } _placed属于哪种类型 Nullable _placed = null; 有什么方法呢?

使用大于运算符的entity framework字符串

如何使这个查询像在sql中一样工作? 在sql中,我可以在字符串上使用<和>运算符。 我一直在谷歌搜索大约20分钟,但还没有找到解决方案。 我无法将r.ExemptionCode转换为整数,因为它可能具有’91A,9AA,ZZZ,Z01’等值 from r in results where (r.ExemptionCode > “900” || r.ExemptionCode == “701” || r.ExemptionCode == “702” || r.ExemptionCode == “721” || r.ExemptionCode == “724”) select r