0

現在の日付のレコードを取得するためのストアドプロシージャを作成しようとしていますが、作成できません。私は最新のものを最初にレコード表示用に作成し、同じものを変更しようとしています。

コードは次のとおりです。

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SP_SELECTTODAYRECORDS_Test]
AS
BEGIN 
    SELECT col_Source as 'country', 
    col_FirstName +' '+col_LastName as 'name',
    description as 'state' ,
    col_county
    from tbl_Info_Test, tbl_CountySite 
    where col_Pic is not null
    and col_Source = sourcecountry
    and ISDATE(col_BookDate) = 1
    order by CONVERT(datetime, col_BookDate) DESC
END
4

2 に答える 2

1

今日の日付のレポートを取得しようとしている場合は、GetDate()でconvert関数を使用できます。

SPに次のwhere条件を追加すると、今日の日付のcol_BookDateを含むレコードが提供されます。

CONVERT(VARCHAR(10),col_BookDate,101)=CONVERT(VARCHAR(10),GETDATE(),101)
于 2012-10-22T13:01:58.790 に答える
1

日付フィールドは、日付と時刻の情報を組み合わせたものです。現在の日付のレコードを選択するには、時間の部分を省略する必要があります。1つのアプローチは、フィールドから時間部分を削除することです。次のリンクを参照してください。

SQL Serverで日付+時刻から日付を取得する最も効率的な方法は?

他のアプローチは、現在の日付の開始(00:00)から翌日の開始までのすべてのレコードを選択することです。

... WHERE DateField >= @Date AND DateField < DATEADD(d, 1, @Date)
于 2012-10-22T13:04:10.007 に答える