尝试执行单个布尔NOT操作,似乎在MS SQL Server 2005下,以下块不起作用
DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = NOT @MyBoolean;
SELECT @MyBoolean;
Run Code Online (Sandbox Code Playgroud)
相反,我越来越成功了
DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = 1 - @MyBoolean;
SELECT @MyBoolean;
Run Code Online (Sandbox Code Playgroud)
然而,这似乎是一种扭曲的方式来表达像否定一样简单的东西.
我错过了什么吗?
如何在SQL Server的存储过程中转义字符串,以便在LIKE表达式中使用它是安全的.
假设我有一个NVARCHAR像这样的变量:
declare @myString NVARCHAR(100);
Run Code Online (Sandbox Code Playgroud)
我想在LIKE表达式中使用它:
... WHERE ... LIKE '%' + @myString + '%';
Run Code Online (Sandbox Code Playgroud)
如何在T-SQL中转义字符串(更具体地说,对LIKE模式匹配有意义的字符,例如%或?),以便以这种方式使用它是安全的?
例如,给定:
@myString = 'aa%bb'
Run Code Online (Sandbox Code Playgroud)
我想要:
WHERE ... LIKE '%' + @somehowEscapedMyString + '%'
Run Code Online (Sandbox Code Playgroud)
匹配'aa%bb','caa%bbc'但不是'aaxbb'或'caaxbb'.
如果我有两个列,一个具有非常高的基数,另一个具有非常低的基数(唯一的值#),那么我按哪个顺序分组?
这是一个例子:
select
dimensionName,
dimensionCategory,
sum(someFact)
from SomeFact f
join SomeDim d on f.dimensionKey = d.dimensionKey
group by
d.dimensionName, -- large number of unique values
d.dimensionCategory -- small number of unique values
Run Code Online (Sandbox Code Playgroud)
是否有重要的情况?
以下查询不会更新datetime字段:
update table
SET EndDate = '2009-05-25'
WHERE Id = 1
Run Code Online (Sandbox Code Playgroud)
我也尝试过没有破折号,但这也不起作用.
DELETE from Table WHERE Date > GETDATE();
Run Code Online (Sandbox Code Playgroud)
GETDATE()包括时间.而不是得到
2011-01-26 14:58:21.637
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到:
2011-01-26 00:00:00.000
Run Code Online (Sandbox Code Playgroud) 我想删除一个数据库.我使用了以下代码,但无济于事.
public void DropDataBase(string DBName,SqlConnection scon)
{
try
{
SqlConnection.ClearAllPools();
SqlCommand cmd = new SqlCommand("ALTER DATABASE " + DBName + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE", scon);
cmd.CommandType = CommandType.Text;
scon.Open();
cmd.ExecuteNonQuery();
scon.Close();
SqlCommand cmddrpdb = new SqlCommand("drop database " + DBName + "", scon);
cmddrpdb.CommandType = CommandType.Text;
scon.Open();
cmddrpdb.ExecuteNonQuery();
scon.Close();
}
catch (Exception ex)
{
MessageBox.Show("DropDataBase : " +ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误,因为它无法删除数据库,因为它当前正在使用中.请帮助我解决上述问题.
我datetime在SQL Server中有一个列,它给我这样的数据10/27/2010 12:57:49 pm,我想查询这个列,但只是让SQL Server返回日月和年 - 例如.2010 10 27或类似的东西.
我应该研究哪些功能?
我应该尝试转换为其他日期数据类型吗?或者只是将其转换为字符串?
我正在尝试构建一个ASP.NET MVC 5 Web应用程序,该MyDatabase.mdf文件App_Data夹中包含一个文件.我安装了一个带有LocalDb实例的SQL Server 2014 Express .我可以使用服务器资源管理器编辑数据库表,但是当我调试应用程序并转到需要数据库的页面时,我收到以下错误.
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.无法创建自动实例.请参阅Windows应用程序事件日志以获取错误详细信息.
所以我查看了下面的事件查看器Application,只反复看到一个警告.
为缓存压缩内容指定的目录C:\ Users\User1\AppData\Local\Temp\iisexpress\IIS临时压缩文件\ Clr4IntegratedAppPool无效.静态压缩正在被禁用.
所以我尝试重启服务器,仍然没有去.与以前相同的错误50.
我在一个Models叫做类的地方创建了一个类Post.
namespace MyApplication.Models
{
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
public class MyDatabase : DbContext
{
public DbSet<Post> Posts { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我还有一个Controller设置列出来自的帖子MyDatabase. …
是否可以在SQL Server中重命名约束?我不想删除并创建一个新约束,因为这个约束会影响其他已存在的约束,我将不得不重新创建/更改它们.
使用EF6,您可以使用以下新事务:
using (var context = new PostEntityContainer())
{
using (var dbcxtransaction = context.Database.BeginTransaction())
{
try
{
PostInformation NewPost = new PostInformation()
{
PostId = 101,
Content = "This is my first Post related to Entity Model",
Title = "Transaction in EF 6 beta"
};
context.Post_Details.Add(NewPost);
context.SaveChanges();
PostAdditionalInformation PostInformation = new PostAdditionalInformation()
{
PostId = (101),
PostName = "Working With Transaction in Entity Model 6 Beta Version"
};
context.PostAddtional_Details.Add(PostInformation);
context.SaveChanges();
dbcxtransaction.Commit();
}
catch
{
dbcxtransaction.Rollback();
}
}
}
Run Code Online (Sandbox Code Playgroud)
当事情横盘整理时,实际上需要回滚吗?我很好奇,因为提交描述说:"提交基础商店交易."
而回滚描述说:"回滚基础商店交易."
这让我感到很好奇,因为在我看来,如果没有调用Commit,先前执行的命令将不会被存储(这对我来说似乎是合乎逻辑的).但如果是这种情况,那么调用Rollback函数的原因是什么?在EF5中我使用了TransactionScope,它没有回滚功能(只有一个完整的),这对我来说似乎是合乎逻辑的.由于MS …
c# sql-server entity-framework transactions entity-framework-6
sql-server ×10
sql ×5
t-sql ×5
c# ×3
asp.net ×2
datetime ×2
constraints ×1
date ×1
group-by ×1
sql-like ×1
transactions ×1
types ×1