标签: sql-server

为每个类别选择前10条记录

我想在一个查询中返回每个部分的前10条记录.任何人都可以帮忙解决这个问题吗?Section是表中的一列.

数据库是SQL Server 2005.我想按输入的日期返回前10名.部分是业务,本地和功能.对于一个特定日期,我只想要前(10)个业务行(最近的条目),前(10)个本地行和前(10)个特征.

sql sql-server sql-server-2005 greatest-n-per-group

189
推荐指数
13
解决办法
43万
查看次数

如何将来自一个字段的日期与来自另一个字段的时间相结合 - MS SQL Server

在我正在处理的摘录中,我有2 datetime列.一列存储日期,另一列存储时间,如图所示.

如何查询表以将这两个字段合并为1列类型datetime

日期

2009-03-12 00:00:00.000
2009-03-26 00:00:00.000
2009-03-26 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

1899-12-30 12:30:00.000
1899-12-30 10:00:00.000
1899-12-30 10:00:00.000
Run Code Online (Sandbox Code Playgroud)

sql sql-server datetime

188
推荐指数
7
解决办法
33万
查看次数

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

举几个例子,只是说:

内联表值

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 varchar(长度)手机中考虑的最长的全球电话号码

什么是我在SQL varchar(length)手机中应该考虑的最长的全球电话号码.

注意事项:

  • +国家代码
  • ()用于区号
  • 扩展扩展的x + 6个数字(所以使其为8 {space})
  • 组之间的空格(即美国电话+ x xxx xxx xxxx = 3个空格)
  • 这是我需要你帮助的地方,我希望它能在全世界范围内使用

考虑到现在我的特殊情况,我不需要卡等.号码以国家代码开头,以扩展名结尾,没有传真/电话等评论,也不需要电话卡.

sql-server validation database-design data-modeling phone-number

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

恢复未保存的SQL查询脚本

如果SSMS崩溃/未保存的选项卡被意外关闭,如何恢复未保存的脚本?

sql t-sql sql-server ssms sql-server-2012

187
推荐指数
10
解决办法
24万
查看次数

在SQL Server上使用varchar(MAX)vs TEXT

我刚刚读到VARCHAR(MAX)数据类型(可以存储接近2GB的char数据)是TEXTSQL Server 2005和Next SQL SERVER版本中数据类型的推荐替代品.

如果我想在列中搜索任何字符串,哪个操作更快?

  1. LIKEVARCHAR(MAX)列使用该子句?

    WHERE COL1 LIKE '%search string%'

  2. 使用该TEXT列并在此列上放置全文索引/目录,然后使用该CONTAINS子句进行搜索?

    WHERE CONTAINS (Col1, 'MyToken')

sql-server performance varchar text sql-types

186
推荐指数
5
解决办法
19万
查看次数

SQL Server:过滤sp_who2的输出

在SQL Server下,是否有一种简单的方法来过滤sp_who2的输出?例如,我想只显示某个数据库的行.

sql-server sql-server-2016

186
推荐指数
6
解决办法
16万
查看次数

无法绑定多部分标识符

我在SO上看到过类似的错误,但我找不到解决问题的方法.我有一个SQL查询,如:

SELECT DISTINCT
        a.maxa ,
        b.mahuyen ,
        a.tenxa ,
        b.tenhuyen ,
        ISNULL(dkcd.tong, 0) AS tongdkcd
FROM    phuongxa a ,
        quanhuyen b
        LEFT OUTER JOIN ( SELECT    maxa ,
                                    COUNT(*) AS tong
                          FROM      khaosat
                          WHERE     CONVERT(DATETIME, ngaylap, 103) BETWEEN 'Sep 1 2011'
                                                              AND
                                                              'Sep 5 2011'
                          GROUP BY  maxa
                        ) AS dkcd ON dkcd.maxa = a.maxa
WHERE   a.maxa <> '99'
        AND LEFT(a.maxa, 2) = b.mahuyen
ORDER BY maxa;
Run Code Online (Sandbox Code Playgroud)

当我执行此查询时,错误结果为: 无法绑定多部分标识符"a.maxa".为什么?
P/s:如果我将查询分成2个单独的查询,它运行正常.

SELECT DISTINCT
        a.maxa ,
        b.mahuyen ,
        a.tenxa ,
        b.tenhuyen …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005

186
推荐指数
6
解决办法
73万
查看次数

使用Output参数执行存储过程?

我有一个我试图测试的存储过程.我试图通过SQL Management Studio测试它.为了运行这个测试,我输入...

exec my_stored_procedure 'param1Value', 'param2Value'
Run Code Online (Sandbox Code Playgroud)

最后一个参数是output parameter.但是,我不知道如何使用输出参数测试存储过程.

如何使用输出参数运行存储过程?

sql-server stored-procedures

185
推荐指数
10
解决办法
69万
查看次数

存储值> 24:00:00的.Net Timespan的正确SQL类型是什么?

我试图TimeSpan在SQL Server 2008 R2中存储.Net .

EF Code First似乎建议它应该存储为Time(7)SQL中的一个.

但是TimeSpan.Net可以处理比24小时更长的时间.

TimeSpan在SQL服务器中处理存储.Net的最佳方法是什么?

.net sql-server timespan

185
推荐指数
7
解决办法
9万
查看次数