0

ビュー/インライン テーブル関数を使用して、テキストと日付の両方を含むフィールドの where 句で日付範囲を使用してテーブルをクエリできますか。

日付フィールドのデータ型は nvarchar で、テキストとテキストの日付が次の形式で含まれています。dd/mm/yyyy.

dmyISDATEの設定を使用して、関数を使用して日付以外の値を除外するCTE/サブクエリを使用してみました。DATEFORMATこれは時々機能しますが、ほとんどの場合、このエラーが発生します。

Msg 241, Level 16, State 1, Line 3
Conversion failed when converting date and/or time from character string.

テーブルやシステムのデザインを変更することはできません。これを実現するために既に複数ステートメントのテーブル関数を使用していますが、インラインを使用してこれが可能かどうかを知りたいです。

これは SQL Server 2008 を使用しています。

4

2 に答える 2

1

この接続アイテムはあなたの問題を説明しています:

http://connect.microsoft.com/SQLServer/feedback/details/537419/sql-server-should-not-raise-illogical-errors

CTE またはサブクエリから転送する前に、常に日付 (/テキスト ミックス) 列を CASE 式でラップし、非日付を NULL 化する必要があります。

于 2013-04-03T09:19:40.547 に答える