标签: sql-server

T-SQL Cast与转换

什么时候应该使用CASTvs. 一般指导CONVERT?是否存在与选择其中一个相关的性能问题?是否更接近ANSI-SQL?

sql t-sql database sql-server

314
推荐指数
6
解决办法
12万
查看次数

在等于操作中无法解决"SQL_Latin1_General_CP1_CI_AS"和"Latin1_General_CI_AS"之间的排序规则冲突

我有以下代码

SELECT tA.FieldName As [Field Name],
       COALESCE(tO_A.[desc], tO_B.[desc], tO_C.Name, tA.OldVAlue) AS [Old Value],
       COALESCE(tN_A.[desc], tN_B.[desc], tN_C.Name, tA.NewValue) AS [New Value],
       U.UserName AS [User Name],
       CONVERT(varchar, tA.ChangeDate) AS [Change Date] 
  FROM D tA
       JOIN 
       [DRTS].[dbo].[User] U 
         ON tA.UserID = U.UserID
       LEFT JOIN 
       A tO_A 
         on tA.FieldName = 'AID' 
        AND tA.oldValue = CONVERT(VARCHAR, tO_A.ID)
       LEFT JOIN 
       A tN_A 
         on tA.FieldName = 'AID' 
        AND tA.newValue = CONVERT(VARCHAR, tN_A.ID)
       LEFT JOIN 
       B tO_B 
         on tA.FieldName = 'BID' 
        AND tA.oldValue = CONVERT(VARCHAR, tO_B.ID)
       LEFT JOIN …
Run Code Online (Sandbox Code Playgroud)

sql-server

313
推荐指数
11
解决办法
71万
查看次数

SQL Server - SELECT FROM存储过程

我有一个返回行的存储过程:

CREATE PROCEDURE MyProc
AS
BEGIN
    SELECT * FROM MyTable
END
Run Code Online (Sandbox Code Playgroud)

我的实际程序有点复杂,这就是为什么有必要使用sproc的原因.

是否可以通过调用此过程来选择输出?

就像是:

SELECT * FROM (EXEC MyProc) AS TEMP
Run Code Online (Sandbox Code Playgroud)

我需要使用SELECT TOP X,ROW_NUMBER和一个附加WHERE子句来分页我的数据,我真的不想将这些值作为参数传递.

sql sql-server stored-procedures sql-server-2005

312
推荐指数
12
解决办法
83万
查看次数

SQL Server - 停止或中断SQL脚本的执行

有没有办法立即停止在SQL Server中执行SQL脚本,如"break"或"exit"命令?

我有一个脚本在开始插入之前执行一些验证和查找,我希望它在任何验证或查找失败时停止.

sql sql-server scripting exit

311
推荐指数
13
解决办法
35万
查看次数

如何为TSQL选择中的每一行生成随机数?

我需要为表格中的每一行添加一个不同的随机数.以下看似明显的代码对每行使用相同的随机值.

SELECT table_name, RAND() magic_number 
FROM information_schema.tables 
Run Code Online (Sandbox Code Playgroud)

我想从中获得INT或FLOAT.故事的其余部分是我将使用这个随机数来创建一个已知日期的随机日期偏移,例如从开始日期偏移1-14天.

这适用于Microsoft SQL Server 2000.

t-sql sql-server sql-server-2000

311
推荐指数
12
解决办法
39万
查看次数

使用GUID作为主键的最佳做法是什么,特别是在性能方面?

我有一个应用程序在几乎所有表中使用GUID作为主键,我已经读过使用GUID作为主键时存在性能问题.老实说,我没有看到任何问题,但我即将开始一个新的应用程序,我仍然想使用GUID作为主键,但我想使用复合主键(GUID和可能是另一个字段) .)

我正在使用GUID,因为当您拥有不同的环境(如"生产","测试"和"开发"数据库)以及数据库之间的迁移数据时,它们很好并且易于管理.

我将使用Entity Framework 4.3,我想在将其插入数据库之前在应用程序代码中分配Guid.(即我不想让SQL生成Guid).

创建基于GUID的主键的最佳做法是什么,以避免与此方法相关的假设性能命中?

sql-server database-design entity-framework guid primary-key

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

如何在SQL Server中查询大于特定日期的所有日期?

我尝试着:

SELECT * 
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
Run Code Online (Sandbox Code Playgroud)

A.Date 好像: 2010-03-04 00:00:00.000

但是,这不起作用.

任何人都可以提供参考原因吗?

sql sql-server datetime

308
推荐指数
5
解决办法
100万
查看次数

SQL Server逃脱下划线

如何逃避下划线角色?

我正在写类似下面的where子句,并希望能够在最后找到_d的实际条目.

Where Username Like '%_d'
Run Code Online (Sandbox Code Playgroud)

sql-server

307
推荐指数
5
解决办法
15万
查看次数

版本化SQL Server数据库

我想让我的数据库受版本控制.有没有人有任何建议或推荐的文章让我开始?

我总是希望在那里至少有一些数据(如alumb提到的:用户类型和管理员).我还经常需要大量生成的测试数据来进行性能测量.

database svn sql-server version-control

306
推荐指数
26
解决办法
9万
查看次数

SQL Server中数字,浮点数和小数之间的差异

我在谷歌搜索过,还访问了十进制和数字以及SQL Server Helper,以收集数字,浮点数和十进制数据类型之间的差异,并找出应该在哪种情况下使用哪一个.

对于任何类型的金融交易(例如薪资领域),哪一个是首选的,为什么?

sql sql-server types

299
推荐指数
7
解决办法
67万
查看次数