0

アップデート

サーバー エクスプローラーで新しいクエリを試して、VS2008 でこのクエリを試しました。

SELECT        
   keyID, code, CAST(evnt_dt AS datetime2(7)) AS 'datetime2'
FROM            
   tblDT
WHERE        
   (keyID = 474)

新しい列は引き続き として返されmm/dd/yyyy hh:mm:ss AM/PMます。

元の質問:

で返される日時列にミリ秒の精度を割り当てる方法を見つけようとしていますSqlDataAdapterdateValue.ToString("yyyy/mm/dd hh:mm:ss.fff tt")

精度は、SQL Server 2008 R2 のデータベース テーブルに存在します。SqlDataAdapterが Gridview に入力されると、表示のために値が に変換されますmm/dd/yyyy hh:mm:ss AM/PM。上記のようにミリ秒の精度で表示したいと思います。

da2.SelectCommand = New SqlCommand("SELECT TOP 1000 [keyID], [evnt_dt], [codes_ID] 
WHERE CAST(evnt_dt AS date) = @evntDate)

データテーブルにデータを入力した後、Gridview にバインドします。

da2.Fill(ds2)
dt = ds2.Tables(0)

GridView1.DataSource = dt
GridView1.DataBind()

SQL ステートメントまたは他の手法でこれを行う方法はありますか?

ありがとう、

4

1 に答える 1

1

示されているように SQL を使用すると、datetime が返されます。書式設定は、グリッドビューへのバインディングで行われています。SSMS または SE でクエリを実行すると、再び文字列にフォーマットされていることを忘れないでください。どちらの場合も、'実際のデータ' を見ているわけではありません - データを '実際の様子' で見ていると考えるのは簡単ですが、もちろん、データを画面に表示するために常に何らかの形でフォーマットされています。バインディング内のフォーマット設定を介して必要な結果を取得するか、クエリで日時値を 109 などのフォーマットの文字列に変換できます。

于 2013-10-28T18:28:19.227 に答える