标签: sql-server-2008

NVARCHAR(MAX)的最大字符是多少?

NVARCHAR(MAX)在SQL Server 2008中声明了一个类型的列,它的确切最大字符是什么,其中MAX是长度?

sql-server sql-server-2005 sql-server-2008

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

多语句表值函数与内联表值函数

举几个例子,只是说:

内联表值

CREATE FUNCTION MyNS.GetUnshippedOrders()
RETURNS TABLE
AS 
RETURN SELECT a.SaleId, a.CustomerID, b.Qty
    FROM Sales.Sales a INNER JOIN Sales.SaleDetail b
        ON a.SaleId = b.SaleId
        INNER JOIN Production.Product c ON b.ProductID = c.ProductID
    WHERE a.ShipDate IS NULL
GO
Run Code Online (Sandbox Code Playgroud)

多语句表值

CREATE FUNCTION MyNS.GetLastShipped(@CustomerID INT)
RETURNS @CustomerOrder TABLE
(SaleOrderID    INT         NOT NULL,
CustomerID      INT         NOT NULL,
OrderDate       DATETIME    NOT NULL,
OrderQty        INT         NOT NULL)
AS
BEGIN
    DECLARE @MaxDate DATETIME

    SELECT @MaxDate = MAX(OrderDate)
    FROM Sales.SalesOrderHeader
    WHERE CustomerID = @CustomerID

    INSERT @CustomerOrder
    SELECT a.SalesOrderID, …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server user-defined-functions sql-server-2008

188
推荐指数
3
解决办法
20万
查看次数

sql查询返回两个表之间的差异

我试图比较两个表,SQL Server,以验证一些数据.我想从两个表中返回所有行,其中数据在一个或另一个中.从本质上讲,我想表明所有的差异.我需要检查三个数据,FirstName,LastName和Product.

我对SQL很新,似乎很多我发现的解决方案都让事情变得复杂.我不必担心NULL.

我开始尝试这样的事情:

SELECT DISTINCT [First Name], [Last Name], [Product Name] FROM [Temp Test Data]
WHERE ([First Name] NOT IN (SELECT [First Name] 
FROM [Real Data]))
Run Code Online (Sandbox Code Playgroud)

我在进一步考虑这个问题时遇到了麻烦.

谢谢!

编辑:

根据@treaschf的回答,我一直在尝试使用以下查询的变体:

SELECT td.[First Name], td.[Last Name], td.[Product Name]
FROM [Temp Test Data] td FULL OUTER JOIN [Data] AS d 
ON td.[First Name] = d.[First Name] AND td.[Last Name] = d.[Last Name] 
WHERE (d.[First Name] = NULL) AND (d.[Last Name] = NULL)
Run Code Online (Sandbox Code Playgroud)

但是当我知道td中至少有一行不在d中时,我一直得到0结果.

编辑:

好吧,我想我弄明白了.至少在我测试的几分钟内它似乎工作得很好.

SELECT [First Name], [Last Name]
FROM …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 sql-server-2008

183
推荐指数
6
解决办法
55万
查看次数

如何从SQL Server 2008中的选择查询结果创建表

我想在SQL Server中从select查询结果创建一个表,我试过了

create table temp AS select.....
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误

关键字"AS"附近的语法不正确

sql sql-server sql-server-2008

183
推荐指数
6
解决办法
84万
查看次数

如何在SSMS 2008中的"编辑前200行"中更改SQL

在SQL Server 2008 Management Studio中,当我右键单击数据库表并选择" 选择前100行 "时,我可以轻松地向SQL添加"ORDER BY"语句.这很好.

但是当我选择" 编辑前200行 "时,我没有能力改变 SQL(这使得很难找到并编辑刚刚添加到10,000中的记录.

我很确定我能够在SQL Server 2000中执行此操作.

在编辑记录时,SMSS 2008中是否有任何方法可以改变记录的显示方式?

sql-server ssms sql-server-2008

181
推荐指数
7
解决办法
20万
查看次数

更改列,添加默认约束

我有一个表,其中一列是datetime类型的"Date".我们决定为该列添加默认约束

Alter table TableName
alter column dbo.TableName.Date default getutcdate() 
Run Code Online (Sandbox Code Playgroud)

但这给了我错误:

"."附近的语法不正确

有没有人在这里看到任何明显错误的东西,我错过了(除了有一个更好的名称列)

t-sql sql-server alter-table sql-server-2008 alter-column

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

SQL Server查询以查找数据库中所有用户的所有权限/访问权限

我想在sql 2008上编写一个查询,它将直接或由于角色等报告所有有权访问特定数据库的用户或数据库中的对象(如表,视图和存储过程).报告将用于安全审计目的.不确定是否有人有完全符合我需求的查询,但希望能给我一个良好开端的东西.无论是sql 2008,2005还是2000,我都可以根据需要进行转换.

sql-server sql-server-2005 sql-server-2008

180
推荐指数
12
解决办法
65万
查看次数

在参数声明中,varchar(MAX)的大小是多少?

我通常在ADO.NET中创建参数时设置列大小

但是如果列是什么尺寸我会使用VARCHAR(MAX)

cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;
Run Code Online (Sandbox Code Playgroud)

c# ado.net sql-server-2008

179
推荐指数
3
解决办法
10万
查看次数

nvarchar(max)vs NText

在SQL Server 中使用nvarchar(max)vs. NText数据类型有哪些优缺点?我不需要向后兼容性,因此nvarchar(max)在较旧的SQL Server版本中不支持它.

编辑:很显然的问题也适用于TEXTIMAGE对比varchar(max),并varbinary(max)为那些寻找那些数据类型之后.

sql-server text nvarchar sql-server-2005 sql-server-2008

178
推荐指数
5
解决办法
13万
查看次数

为什么SQL Server 2008 Management Studio Intellisense无法正常工作?

我正在疯狂地试图弄清楚Intellisense为什么根本无法工作.我使用的服务器是本地的,是2008,数据库设置为2008兼容,Intellisense在我能找到的每个菜单中都打开,但即使用CTRL-J也不会弹出成员列表.

有没有人经历过这样的事情并找到了解决方法?除非我有Intellisense工作,否则我真的无法开始工作.

intellisense sql-server-2008

177
推荐指数
7
解决办法
12万
查看次数