2011-06-17 24 views
1

は、私はかなりfewresources SQLの文を見つけSQL日付変換

ミリメートルddとのYYYYにYYYYMMDDから日付メートに変換するために探しています。しかし、私は本当に私が探しているものを知るには新しすぎです。

私は、次の式を持っていると私はそれが仕事は最高(プレゼンテーション層で行われている日付形式の選択日付

select Date_of_hire from Employee where employeeID='input' 
+4

アプリケーションコード内でこれを実行していない理由はありますか? – Oded

+0

アプリケーションがデータベースのネイティブではありません。クエリを実行しています。私は基本的なSQLクエリのみを実行し、それらをインターフェイスに吐き出すことができると思います。私はそれを行うことができるかどうかを調べるつもりです。ありがとう – Nixphoe

答えて

1

と同等であることに注意してください私はあなたがこれをしたいと思うかもしれない理由を見ることができます。
はキャストに見て、これは2001年1月1日のようにそれをフォーマットします(http://msdn.microsoft.com/en-us/library/ms187928.aspx

select Convert(varchar,Cast(Date_of_hire as datetime) ,101) as Date_of_hire from Employee where employeeID='input' 

)(変換します。
変換の問題は、実際の変換方法が実際に制限されていることです。
このような文字列から日付を取得するには、変換をそのままにしてdatetimeとしてキャストすることができます。

+0

おかげで、キャストとdatetimeは私が必要としていたものとまったく同じでした。 – Nixphoe

+0

うれしい – AndyD273

3

を撮影する必要があるなど、フォームのアプリ、あなたのASPアプリ、レポート)。 SQLにDATETIMEフィールドを返すだけで、出力をアプリに適切に設定することであなたが好きなフォーマットで表示できます。

+0

アプリケーションはデータベースにネイティブではありません私はクエリを実行しています。だから私はそれができるかどうか分からない。私はこれを見ていきます。ヒントをありがとう! – Nixphoe

1

これは動作します:

select replace(convert(varchar, Date_of_hire, 101), '/', ' ') 
from Employee where employeeID='input' 
4
SELECT REPLACE(CONVERT(VARCHAR(10), requested, 110), '-', ' ') AS hiredate 

はさらに、参照用http://www.sql-server-helper.com/tips/date-formats.aspxを見てみましょう。私は数回行うために途中で任意のアプリケーションが存在しないSQLテーブルにAS400(文字列として保存された日)からデータをインポートするこのに遭遇してきたこれは

SELECT REPLACE(CONVERT(VARCHAR(10), requested, 101), '/', ' ') AS hiredate 
+0

変換は実際にSQLテーブルで何も変更されませんでしょうか? – Nixphoe

+1

テーブルへの変更は、挿入、更新、または削除コマンドでのみ発生するため、単純な選択ではデータを変更できません。 – Mark

+1

SQLテーブルでは何も変更されません。 – tofutim