Microsoft Queryを使用してストアドプロシージャに接続するExcelがあります。ストアドプロシージャLIKEパラメータの操作
私の手順は、次のようになります。
ALTER PROCEDURE [dbo].[WatchDogDataCollector]
@websiteID int = NULL,
@FailureLogStart datetime = NULL,
@FailureLogEnd datetime = NULL
AS
SELECT *
FROM WATCHDOG.WatchdogUsr.WebsiteFailureLog
WHERE websiteID = ISNULL(@websiteID,websiteID)
AND (((FailureLogStart LIKE '%' + ISNULL(@FailureLogStart, FailureLogStart) + '%')))
AND (((FailureLogEnd LIKE '%' + ISNULL(@FailureLogEnd, @FailureLogEnd) + '%')))
私の目標は、オプションであるなど持っていなければ日時列FailureLogStart
& FailureLogEnd
を持つことです。
[Microsfot] [ODBC SQL Serverドライバー] [SQL Server]:一度エクセルに接続されており、私はエラーメッセージが表示されますいくつかの動的パラメータと私のストアドプロシージャを実行しようとしています
これまでのところは良いです変換が失敗したとき チャーター文字列から日付と時刻を変換する
私はよく分からないExcelやSQLで何か問題が起きているのですか?
私は推測している 'FailureLogStart'と' FailureLogEnd'が故に日時ではなく、文字列、あなたの例外です。このクエリの目標は何ですか?いくつかのサンプルデータと望みの結果を加えて、動作するクエリを思いつくことができます。 –
@ ZoharPeledまあ、最終的にユーザーはExcelでいくつかのテキストボックスを持っていて、入力に応じてテーブルをフィルタリングすることができます。たとえば、2016年に入力すると2016を含むデータからすべてを取得します。 –
その場合は、文字列ですが、パラメータの型はdatetime型なので、ユーザが '2016'だけを入力すると、' 2016'を有効なdatetimeに変換しようとすると失敗します。 –