4

mmm-yy 形式のテキスト ファイルがあります (すべての月は、Jan、Feb、Mar などの 3 文字の省略形です)

May-31

つまり、「1931 年 5 月」です。

クエリで次を使用する場合:

CDate([BIRTHDT])

1931 年 5 月 1 日の代わりに 2012 年 5 月 31 日を取得します。5 月 32 日のように後の年を持つ他の行では、1932 年 5 月 1 日の望ましい結果が得られます。明らかに、これは ms-access に関係しています。テキストから日付への変換関数 mmm-dd 有効性チェックは、あまり一般的ではない mmm-yy 形式よりも優先されますが、この場合は予期しない結果になります。

どういうわけか、最初の 3 文字から月を抽出し、最後の 2 桁から年を抽出して、それらを結合する必要があります。理想的には、これをすべて MS Access SQL 内で実行したいと考えています。

4

1 に答える 1

4

最初の 3 文字から月を抽出し、下 2 桁から年を抽出して、それらを結合する必要があります。理想的には、これらすべてを MS Access SQL 内で実行したいと考えています。

これはイミディエイト ウィンドウのセッションです。

BIRTHDT = "May-31"
? BIRTHDT
May-31
? Left(BIRTHDT,3) & "-1-" & Right(BIRTHDT,2)
May-1-31
? CDate(Left(BIRTHDT,3) & "-1-" & Right(BIRTHDT,2))
5/1/1931

したがって、クエリでその式を使用できます。

SELECT CDate(Left(BIRTHDT,3) & "-1-" & Right(BIRTHDT,2))
FROM YourTable;
于 2012-08-21T00:25:10.857 に答える