标签: t-sql

GUID.和自动id作为SQL数据库中的主键

SELECT COUNT(*) FROM table_name;
Run Code Online (Sandbox Code Playgroud)

我的算法是:

  • 检查计数
  • count + 1是新的主键起点
  • 然后在每次插入操作之前继续递增

但是这个GUID是什么?SQL Server是否提供了自动生成和增加主键的功能?

t-sql sql-server-2005 primary-key

0
推荐指数
1
解决办法
9289
查看次数

是否可以将nvarchar转换为int?

我尝试过这样的事情:

select PREPRO = case when (isnumeric(PREPRO) = 1 and 
PREPRO in ('0','1','-1')) or 
convert(varchar, PREPRO) in ('True','False')
then convert(bit, convert(integer, PREPRO)) else 'No' end
from dbo.TI10SE
Run Code Online (Sandbox Code Playgroud)

PREPRO包含所有"False".

我收到此错误:

将nvarchar值'False'转换为数据类型int时转换失败.

这是否意味着nvarchar无法转换为整数?我猜是因为有些数据可能会丢失.

t-sql sql-server

0
推荐指数
1
解决办法
2775
查看次数

在sql中分组日期

我有一张桌子,里面有ids和辞职日期.一个单身人士有一个以上的辞职日期.

如何显示其中一个id只有一个最新日期即最大日期的表格.

有人可以帮助我......比一吨

sql t-sql sql-server aggregate

0
推荐指数
1
解决办法
101
查看次数

T-SQL子查询和可能的连接的正确语法

什么是正确的语法和加入(如果有的话)子查询,它将从员工的表中返回所有员工的名字和姓氏,并从部门表中返回他们的部门名称,但只返回那些超过平均值的员工他们部门的薪水?谢谢你的回答

mysql sql t-sql sql-server-2005

0
推荐指数
1
解决办法
3005
查看次数

编写一个可怕的SQL搜索查询

我正在开发一个似乎不起作用的搜索查询.完整的查询是:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[usp_Item_Search]
    @Item_Num varchar(30) = NULL
    ,@Search_Type int = NULL
    ,@Vendor_Num varchar(10) = NULL
    ,@Search_User_ID int = NULL
    ,@StartDate smalldatetime = NULL
    ,@EndDate smalldatetime = NULL
AS
DECLARE @SQLstr as nvarchar(4000)

Set @SQLstr = 'SELECT RecID, Vendor_Num, Vendor_Name, InvoiceNum, Item_Num, 
(SELECT CONVERT(VARCHAR(11), RecDate, 106) AS [DD MON YYYY]) As RecDate, NeedsUpdate, RecAddUserID FROM [tbl_ItemLog] '

IF (@Item_Num IS NOT NULL)  
    Begin
        If @Search_Type = 0
            BEGIN
                Set @SQLstr = @SQLstr + …
Run Code Online (Sandbox Code Playgroud)

t-sql search sql-server-2005

0
推荐指数
1
解决办法
59
查看次数

SQL Server是否支持类似Oracle的子句?

我已经看到过几次提到Oracle WITH子句来为这样的子查询别名:

WITH myData AS (SELECT id, text FROM SomeTable)
SELECT myData from SomeOtherTable
Run Code Online (Sandbox Code Playgroud)

是否有任何版本的SQL Server支持此功能?如果没有,他们有没有特别的理由?性能?错误使用的可能性?

sql t-sql sql-server oracle common-table-expression

0
推荐指数
1
解决办法
3028
查看次数

这个T-SQL出了什么问题?

这个T-SQL出了什么问题:

DECLARE @temp TABLE(ID INT IDENTITY,[Value] VARCHAR(100))
SET @temp = dbo.[fnCSVToTable](',2,3')
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

0
推荐指数
1
解决办法
138
查看次数

出于什么原因,SQL不允许使用语法@i = 100为变量赋值;?

与编程语言不同,SQL不允许使用以下语法为变量赋值(相反,我们必须使用SETSELECT):

@i=100; //error
Run Code Online (Sandbox Code Playgroud)

SQL有什么不允许这样的特殊原因吗?

谢谢

sql t-sql sql-server

0
推荐指数
2
解决办法
217
查看次数

SQL Server select-where语句问题

我在Windows Server 2008 Enterprise上使用SQL Server 2008 Enterprise.我在SQL Server 2008中有关于tsql的问题.对于select-where语句,有两种不同的形式,

(1)选择[some value]和[some value]之间的foo,

(2)选择foo> = [some value]和foo <= [其他值]的地方?我不确定是否和使用<=和> =符号相同?

顺便说一句:它们是否总是相同 - 即使对于不同类型的数据(例如比较数值,比较字符串值),如果有人可以提供一些文件来证明它们是否总是相同,那么我会感激,以便我可以从中学到更多.

乔治,提前谢谢

t-sql sql-server between sql-server-2008

0
推荐指数
1
解决办法
123
查看次数

可以重新运行的TSQL脚本索引创建

我希望有一个索引脚本,我可以追加到并重新运行,因为新表添加到我的架构中.出于这个原因,我想跳过创建已经存在的索引,但我一直无法找到一种干净的方法来检测索引已经存在.我想做的是这样的:

IF OBJECT_ID(N'[dbo].[Users].[IDX_LastName]', '') IS NULL
    CREATE INDEX [IDX_LastName] ON [dbo].[Users] 
    (
        [LastName] ASC
    )
Run Code Online (Sandbox Code Playgroud)

t-sql indexing scripting

0
推荐指数
1
解决办法
365
查看次数