2011-09-12 12 views
1

日付フィールドを文字列に変更する構文を覚えています。私は近いが、100%正確ではないことを知っている。ここまで私が使用しているのはTO_CHAR(FIELD_NAME)です。私はAccessデータベースを使用しています。私が得ているエラーはundefined expressionです。どんな助けも非常に高く評価されるでしょう。SQL構文質問

+4

どのRDBMSを使用していますか? –

+0

これは、使用しているSQL実装を正確に指定するのに役立ちます。 Microsoft SQL、DB2、MySql、Postgresまたはそれ以外のもの – Caimen

+2

@Joe _アクセスデータベースを使用しています_私のアクセスのようです... –

答えて

3

変換することCStr(dateField)またはFormat(dateField)のいずれかを使用して変換します。 また、あなたのような、さまざまな形式で表示するようにFormat()にパラメータを追加することができます

あなたはただ、おそらくじゃないMS Accessとその日付フィールドを使用していることを考えると

Format(dateField, "general date") 9/12/2010
Format(dateField, "long date") Monday, September 12, 2011

+0

+1素敵な編集私は以前に投票しただろうが、何らかの理由でできなかった。 –

+0

ありがとうございます。私は3回のように答えを編集し、それを削除してから、それを復活させました。 – adamcodes

+0

hmmこれらの編集は[訂正履歴](http://stackoverflow.com/posts/7392873/revisions)には表示されない猶予期間内だったと思います) –

-1

を試して、このようにあなたは、CONVERT関数を使用することができます。

CONVERT(VARCHAR, DateField, 100) 

は、ここにあなたが使用できるさまざまな日付形式を示したリンクです

http://www.sql-server-helper.com/tips/date-formats.aspx

+0

SQL Serverでto_charを使用すると、メッセージ195、レベル15、状態10、行1 'to_char'のようなものが認識されます。名前 ''未定義の式 'ではありません。また、使用されている技術についての質問もありました –

+0

@Conrad Frix:私はTO_CHARを使用していません、私はVARCHARに変換しています...間違った答えをdownvoteしましたか? –

+0

@Conrad Frix:テスト済み - エラーは発生しません。結果は: 'Apr 19 2010 9:30 AM' –

1

文字列に変換するのではなく、日付をフォーマットすることもできます。それが実際の場合は、Format関数が必要です

SELECT Format ([DateCreate], "yyyy/mm/dd") AS Foo 
FROM MSysObjects;