小编Hon*_*ger的帖子

如何使用SQL Server从当前日期减去30天

我无法从当前日期减去30天,我是SQL Server的新手.

这是我专栏中的数据

date 
------------------------------
Fri, 14 Nov 2014 23:03:35 GMT
Mon, 03 Nov 2014 15:18:00 GMT
Tue, 11 Nov 2014 01:24:47 GMT
Thu, 06 Nov 2014 19:13:47 GMT
Tue, 04 Nov 2014 12:37:06 GMT
Fri, 1 Nov 2014 00:33:00 GMT
Sat, 5 Nov 2014 01:06:00 GMT
Sun, 16 Nov 2014 06:37:12 GMT
Run Code Online (Sandbox Code Playgroud)

为了创建我使用的上面的列varchar(50),现在我的问题是我想显示从日期列开始15-20天的日期,任何人都可以帮助解决这个问题吗?更新[我如何按顺序显示最近7天的日期

sql sql-server sql-server-2008 sql-server-2012

44
推荐指数
3
解决办法
15万
查看次数

Why doesn't this windowed expression result in a divide by zero error?

I came across this answer on Programming Puzzles & Code Golf. In it, the author uses the expression (though the answer has since been edited to use a different solution):

row_number()over(order by 1/0)
Run Code Online (Sandbox Code Playgroud)

I would have expected the 1/0 to result in a divide by zero exception, but it doesn't.

When I asked the author on PPCG, they replied "because 1/0 is not being calculated. where exists(select 1/0) will have the same effect". This leaves me a bit nonplussed, because …

sql sql-server divide-by-zero window-functions

9
推荐指数
2
解决办法
155
查看次数

在postgres中声明表类型的变量

我需要编写一个存储过程,如下所示:

CREATE OR REPLACE FUNCTION foo() RETURNS TABLE(user_id integer, count bigint) AS $$
    some_array integer[];
    ret_val __WHAT_TYPE_;
BEGIN
    FOR i IN 1 .. array_upper(some_array, 1)
    LOOP
        //modify the ret_val
    END LOOP;
    RETURN ret_val;
END $$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

ret_val但我不知道我应该申报什么类型?

sql postgresql stored-procedures

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

我正在执行程序,不接受我的任何约会,当我试图给日期时间变量一个GETDATE()时,它告诉我')附近的错误

这个程序

ALTER PROCEDURE [dbo].[InsertCustomer]

    @firstName NVARCHAR(50),
    @lastName NVARCHAR(50),
    @address NVARCHAR(50),
    @state NVARCHAR(50),
    @creditLimit smallmoney,
    @email NVARCHAR(50),
    @customerSince smalldatetime

 AS
 BEGIN

 INSERT Customers(
        FirstName ,
         LastName ,
        _Address ,
        States , 
        CustomerSince ,
        CreditLimit ,
         Email )

 VALUES (@firstName ,
     @lastName ,
      @address ,
      @state ,
      @customerSince ,
      @creditLimit ,
      @email)

 END;
Run Code Online (Sandbox Code Playgroud)

这是执行---->

EXECUTE InsertCustomer
'Liza',
'Tober',
'46 White Second Blvd.',
'Louisiana',
670,
'Liza@visualStudio.com',
GETDATE() 
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures

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

整数除法SQL查询产生意外的小数位数

我想使用以下查询获取总金额

SELECT SUM(Quantity * UnitPrice * (Discount/100)) 
FROM Stock_Purchase_Details
Run Code Online (Sandbox Code Playgroud)

我的桌子结构

Proid | unitprice | discountrate(inpercentage) | proqty
1     |  10.00    | 10.00                      |  10
2     |  10.00    | 10.00                      |  10
Run Code Online (Sandbox Code Playgroud)

我希望总金额为20.00,但我使用的查询返回此结果20.00000000- 为什么?

sql sql-server sql-server-2008

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

')'附近的语法不正确.在程序中

IF NOT EXISTS (SELECT * FROM sys.procedures WHERE name = 'spGetEmployeeListWithOutputVariable')
BEGIN
        EXEC('CREATE PROCEDURE spGetEmployeeListWithOutputVariable
        @NoOfRecord INT OUTPUT
        AS
        BEGIN
        SELECT @NoOfRecord = COUNT(EmployeeID)
        FROM EmployeeData
        SELECT 
            employee.EmployeeId,
            employee.EmployeeName,
            employee.ContactNumber,
            STUFF((SELECT ',' + hobby.Name FROM Hobbies AS hobby    
                            JOIN dbo.MapHobbiesData AS MapEmpHob 
                                ON MapEmpHob.HobbiesId=hobby.HobbiesId     
                            WHERE MapEmpHob.EmployeeId=employee.EmployeeId
                            FOR XML PATH(''))
                ,1,1,'')  Hobbies,
                NoOfEmpRecords = @NoOfRecord
        FROM EmployeeData AS employee
        END')
END
Run Code Online (Sandbox Code Playgroud)

sql-server

-1
推荐指数
1
解决办法
53
查看次数