Tag: tsql

使用StringWriter进行XML序列化

我目前正在寻找一个简单的方法来序列化对象(在C#3中)。 我search了一些例子,并提出了类似的东西: MemoryStream memoryStream = new MemoryStream ( ); XmlSerializer xs = new XmlSerializer ( typeof ( MyObject) ); XmlTextWriter xmlTextWriter = new XmlTextWriter ( memoryStream, Encoding.UTF8 ); xs.Serialize ( xmlTextWriter, myObject); string result = Encoding.UTF8.GetString(memoryStream .ToArray()); 看完这个问题后,我问自己,为什么不使用StringWriter? 这似乎更容易。 XmlSerializer ser = new XmlSerializer(typeof(MyObject)); StringWriter writer = new StringWriter(); ser.Serialize(writer, myObject); serializedValue = writer.ToString(); 另一个问题是,第一个例子生成的XML我不能只写入SQL […]

在SQL服务器中放置一个date

在SQL Server中,如何“DATETIME”到第二/分钟/小时/天/年? 假设我有一个2008-09-17 12:56:53.430的date,那么地板的输出应该是: 年份:2008-01-01 00:00:00.000 月份:2008-09-01 00:00:00.000 date: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

分配variables时SET与SELECT?

在T-SQL中分配variables时, SET和SELECT语句之间有什么区别?

select语句以查找某些字段上的重复项

你能帮我用SQL语句在多个领域find重复? 例如,在伪代码中: select count(field1,field2,field3) from table where the combination of field1, field2, field3 occurs multiple times 从上面的陈述中, 如果有多个事件,我想select除了第一个以外的每个logging 。

获取数据库中所有表的大小

我已经inheritance了一个相当大的SQL Server数据库。 考虑到它包含的数据,它似乎占用了比我预期更多的空间。 有没有一种简单的方法来确定每个表上的磁盘空间消耗多less?

如何将单列值分割为多个列值?

我有一个问题,将单列值分成多个列值。 例如: Name ———— abcd efgh ijk lmn opq asd j. asdjja asb (asdfas) asd asd 我需要这样的输出: first_name last_name ———————————- abcd efgh ijk opq asd asdjja asb asd asd null 中间名称可以省略(不需要中间名称)列已经创build,需要插入单个Name列中的数据。

限制WHERE col IN(…)条件

我使用下面的代码: SELECT * FROM table WHERE Col IN (123,123,222,….) 但是,如果我在IN子句中放入超过3000个数字,SQL会引发错误。 有谁知道是否有一个大小限制或类似的东西?

将多个子查询中的结果组合成一个逗号分隔值

我有两张桌子: TableA —— ID, Name TableB —— ID, SomeColumn, TableA_ID (FK for TableA) 这个关系是TableA一行 – 很多TableB 。 现在,我想看到这样的结果: ID Name SomeColumn 1. ABC X, Y, Z (these are three different rows) 2. MNO R, S 这将无法正常工作(子查询中有多个结果): SELECT ID, Name, (SELECT SomeColumn FROM TableB WHERE F_ID=TableA.ID) FROM TableA 这是一个微不足道的问题,如果我在客户端进行处理。 但这意味着我将不得不在每个页面上运行X查询,其中X是TableA的结果数。 请注意,我不能简单地做一个GROUP BY或类似的东西,因为它会为TableA行返回多个结果。 我不确定使用COALESCE或类似的东西的UDF是否可行?

NOLOCK(SQL Server提示)不好的做法?

我在做网站和应用程序不是任务关键 – 例如。 银行软件,太空飞行,重症监护应用程序等等。你明白了。 那么,在这个庞大的免责声明中,在某些Sql语句中使用NOLOCK提示是不是很糟糕? 几年前,一位Sqlpipe理员build议,如果我对“脏读”感到满意,那么我应该使用NOLOCK,这将使我的系统性能提高一倍,因为每次读取都不会locking表/行/不pipe。 我也被告知,如果我遇到死锁,这是一个很好的解决scheme。 所以,我开始思考了几年,直到一个Sql guru帮我一些随机代码,并注意到我的sql代码中的所有NOLOCKS。 我被礼貌地骂了,他试图向我解释(为什么这不是一件好事),我有点失落。 我觉得他的解释的本质是“这是一个更严重的问题的创可贴解决scheme,特别是如果你遇到了僵局。 因此,解决问题的根源“。 我最近做了一些Googlesearch,碰到这个post 。 那么,可以一些sql db guru sensei的请赐教吗?

多个INSERT语句与单个INSERT和多个VALUES

我正在运行使用1000个INSERT语句之间的性能比较: INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('6f3f7257-a3d8-4a78-b2e1-c9b767cfe1c1', 'First 0', 'Last 0', 0) INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('32023304-2e55-4768-8e52-1ba589b82c8b', 'First 1', 'Last 1', 1) … INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('f34d95a7-90b1-4558-be10-6ceacd53e4c4', 'First 999', 'Last 999', 999) ..versus使用1000个值的单个INSERT语句: INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('db72b358-e9b5-4101-8d11-7d7ea3a0ae7d', 'First […]