小编Tim*_*ner的帖子

如何使用括号和所有内容获取SQL Server列定义?

我需要一种智能方法,以一种可以在CREATE TABLE语句中使用的方式从INFORMATION_SCHEMA.COLUMNS中获取数据类型.问题是需要理解的"额外"字段,例如NUMERIC _PRECISION和NUMERIC _SCALE.

显然,我可以忽略INTEGER的列(精度为10,比例为0),但还有其他类型我会感兴趣,例如NUMERIC.因此,如果没有编写大量代码来解析表,那么有关如何从列定义中获取某种字段速记的任何想法?

我希望能得到类似的东西:int,datetime,money,numeric**(10,2)**

sql-server types information-schema

4
推荐指数
3
解决办法
9085
查看次数

在sql server 2008中存储故事?

我将在SQL Server中的nvarchar(MAX)字段中存储故事,但我知道故事会比MAX允许的更长,所以我应该采取什么方法?我应该将故事分成多行,还是应该跳过使用数据库并使用文本文件?

c# sql-server sql-server-2008

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

如何无条件地连接两个表

例如,我有两个表(临时表).其中一个只包含ID,另一个包含真实信息.它们具有完全相同的行号.

#Table1
ID
14
15
16

#Table2
CarModel    Year
Ford        1996
Ferrari     2005
Toyota      2010
Run Code Online (Sandbox Code Playgroud)

如何将这两个表合并为一个(没有任何条件,只有结果表有3列,无论以什么顺序)?我需要它来插入真实表的结果

Cars
ID   CarModel   Year
Run Code Online (Sandbox Code Playgroud)

并且此表不使用标识.有一种获取ID的方法可以插入.我无法改变它.

因此,我需要一个像下列其中一个的表(排序并不重要):

#Table3
ID   CarModel    Year
14   Ford        1996
15   Ferrari     2005
16   Toyota      2010
Run Code Online (Sandbox Code Playgroud)

要么

#Table3
ID   CarModel    Year
16   Ford        1996
14   Toyota      2010
15   Ferrari     2005
Run Code Online (Sandbox Code Playgroud)

PS我理解如何使用CTE和row_number(),但我认为有更简单的方法来完成这项任务.并且可能此代码将用于MS SQL Server 2000,因此我很乐意查看其他解决方案的变体.

sql sql-server join sql-server-2000

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

从两个现有表中创建一个具有每种组合可能性的新表

我有两个临时表#a和#b都填充了整数值.假设它们都包含10行,值为1-10.

我想创建一个第三个临时表#c,其中包含a和b的所有可能组合.所以它总共有100行(1,1),(1,2)......(10,10).我将如何在SQL中执行此操作.我正在使用的实现是SQL Server 2012.

sql sql-server sql-server-2012

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

如何使用TSQL从字符串中提取数字

我有一个字符串:

@string='TEST RESULTS\TEST 1\RESULT 1

除数字外,字符串/文本保持不变

  1. 需要来自TEST的1
  2. 从RESULT需要1

在以下查询中使用:

SET @sql =  "SELECT *
            FROM   TABLE
            WHERE  test = (expression FOR CASE 1 resulting IN INT 1)
                   AND result = (expression FOR CASE 2 resulting IN INT 1)"
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server parsing sql-server-2008

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

C#/ SQL:在一个事务中执行多个插入/更新

我有一个拥有10个属性的客户实体.

  • 其中7个属性保存在customer表中.
  • 其中3个属性保存在测试表中.

测试表中的3个属性是CustomerId,Label,Text.

当我查询这3个属性时,我得到3个这样的数据集:

CustomerId | Label  | Text
1005       | blubb  | What a day
1006       | hello  | Sun is shining
0007       |        |
Run Code Online (Sandbox Code Playgroud)

当我保存它们时,我必须在测试台上调用我的存储过程3次

在我的SP中,我检查具有特定customerId AND Label的数据集是否已经存在,然后我执行UPDATE,否则执行INSERT.

如何使用所有CommandText,CommandType,ExecuteNonQuery等东西调用存储过程3次?

c# sql transactions insert

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

获取Excel工作表名称在SQL Server中

如何使用SQL Sever 2005在Excel文件中获取工作表名称?

请注意:

  • 没有前端(C#,VB,PHP等);
  • 我试图仅使用SQL Server 2005来获取工作表名称.

谢谢.

sql-server excel sql-server-2005 worksheet

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

如何使用T-SQL或sys视图获取SQL Server登录审核设置

在SSMS>服务器属性>安全性页面中,我可以将“登录审核”查看/更改为“无,仅失败,仅成功...”,是否可以使用TSQL / system catalog / view /获取属性值DMV?我想将其合并到脚本中以生成报告。

谢谢

sql-server audit login properties

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

C#datetime和SQL datetime之间的平等比较失败

我试图在C#datetime和SQL datetime之间进行相等比较,由于存储这些值的精度,它似乎失败了.

所以说我有一个非常简单的SQL表,包含以下字段:

ID (PK, int, not null) - identity
Title (text, null)
UpdateTime (datetime, not null)
Run Code Online (Sandbox Code Playgroud)

我通过Entity框架创建一个类对象,将其UpdateTime设置为DateTime.Now,如下所示:

DateTime now = DateTime.Now;
Title.UpdateTime = now;
Run Code Online (Sandbox Code Playgroud)

当我将新对象插入表格时,我发现所有值都显示正确存储.现在我想要为我的对象创建的ID.

这是事情变得困难的地方.我尝试通过LINQ拉回ID:

Title.ID = context.DBTitles.Where(x=>x.UpdateTime == now).FirstOrDefault().ID;
Run Code Online (Sandbox Code Playgroud)

这会引发异常,因为查询返回null,尽管我插入的'now'应该与插入到我的表中的'now'相同.

所以我的问题是:我如何确保我的C#datetime等同于SQL中存储的日期时间?获取我的身份证的最佳方法是什么?

c# datetime linq-to-entities equality sql-server-2008

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

SQL为什么要使用isnull(field,'')<>''?

我正在审查我继承的一些代码,我找到了这样的一行:

And isnull(IH.CustomerItemNumber, '') <> ''
Run Code Online (Sandbox Code Playgroud)

我的前任中的哪一个似乎在大量的where子句或join子句中使用过.在我看来,这是一个不必要的函数调用,因此性能损失,因为NULL永远不会等于空字符串'',对吧?

具体来说,我在特定查询中从连接子句中取出了这个,并且性能显着提高(从46-49秒到1-3之间).

替换为 AND IH.CustomerItemNumber <> ''

我的评估是否正确?这是多余的,缓慢的,可以删除?在什么情况下这段代码可能有益?

编辑:那么,NULL可以等于空字符串吗?

sql sql-server string null sql-server-2000

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