0

私のアプリケーションの多くのデータウィンドウで、ユーザーは好きなフィルター文字列を入力できる自由形式のテキスト ボックスにアクセスできます。多くの場合、彼らは次のような検索用語をうまく使用します。 date(last_updated_date) = 2010-10-22

私はいくつかのドキュメントを更新しようとしていますが、特にこの構文に対処するよう求められています。私の質問はこれです: PowerBuilder はどのようにして "2010-10-22" が日付であることを認識し、特定の変換なしでこのような日付リテラルを含めるための規則は何ですか? 左側の値が明らかに日付データ型であるという事実に基づいているのでしょうか、それとも「2010-10-22」で使用されている特定の日付形式に基づいているのでしょうか、あるいはその両方ですか? 明確にするために、この構文は適切に機能します。

4

2 に答える 2

1

これは間違いなくリテラル日付 (引用符なし) の形式であり、日付として処理するために比較の左側と比較する必要はありません。

「標準データ型」セクションでは、ドキュメントはタイプ「日付」について次のように述べています。

完全な年 (1000 から 3000)、月の数 (01 から 12)、および日 (01 から 31) を含む日付。リテラルの使用 リテラル値を割り当てるには、年、月、日をハイフンで区切ります。例えば:

2001-12-25 // 2001 年 12 月 25 日

2003-02-06 // 2003 年 2 月 6 日

于 2012-04-20T10:09:02.460 に答える
0

関が文字通りに言ったことはすべて真実です。ただし、文字列を使用する必要がある場合は、「yyyy-mm-dd」という形式が、日付型変数と比較/割り当てるときに常に機能する形式です。これは、日付形式の標準と見なされています。

「25-12-2012」など、別の文字列形式が日付として使用されている場合、PBはWindowsの地域設定を使用して変換します。変換に失敗した場合は、1900-01-01を取得します。

PBヘルプ「日付PowerScript関数/文字列を日付に変換する」も確認できます。

于 2012-04-20T12:42:26.067 に答える