0

データ テーブルからレコードを取得する方法についてアドバイスが必要です。1 つのテーブルにDateTimeとして列dateDBOが含まれています。2つの異なるシナリオのように選択クエリを使用します。select * from tblUsers01/01/2012 12:00:00 AM01-Jan-00 12:00:00 AM

Cast または Convertで特定の列名を指定することでこの修正を取得できることはわかっていますが、これはどのようにselect * tblUsers不思議な結果を返しますか??

*これは、asp.net (3.5) アプリケーションから呼び出しています。

前もって感謝します。

英語でごめんなさい。

更新::サーバーにデプロイしたときの同じコードは日付を反映していますが01/01/2012 12:00:00 AM、ローカルではそのようなもの01-Jan-00 12:00:00 AMです。したがって、これは日付と時刻の設定の変更によるものであり、この日付と時刻の変更がasp.netにどのように影響するかについて混乱しています選択。私の.netコード

//set the command
objCommand = new OleDbCommand(strQueryText, objConnection);
//set the command type
objCommand.CommandType = CommandType.Text;
OleDbDataAdapter objDataAdapter = new leDbDataAdapter(objCommand); 
DataSet objLcDataSet = new DataSet(); 
objDataAdapter.FillSchema(objLcDataSet, SchemaType.Mapped); 
int lngRetVal = objDataAdapter.Fill(objLcDataSet);

結果データ ::

dateDBO
1959-11-05 00:00:00.000 
1965-12-13 00:00:00.000 
1979-08-01 00:00:00.000 
1972-02-15 00:00:00.000 
1978-12-23 00:00:00.000 
1985-09-04 00:00:00.000 
1986-04-19 00:00:00.000 
1966-03-10 00:00:00.000 
1959-08-30 00:00:00.000

コントロール パネルの [地域オプション]フィールドは、クエリの出力に影響しますか??

これを変更すると、サーバーで得た結果と同じ結果が得られました。

4

2 に答える 2

2

これを試して:

SELECT REPLACE(CONVERT(VARCHAR(9), dateDBO , 6) , ' ', '-') AS [DD-Mon-YY], CONVERT(VARCHAR(8), dateDBO , 108) as [HH:MM:SS] , substring(convert(varchar(30), dateDBO , 9), 25, 2) from tblUser

次に、これら 3 つの列を追加する必要があります。

詳細については、 http://www.sql-server-helper.com/tips/date-formats.aspxを参照してください。

于 2012-12-11T07:01:56.903 に答える
0

この dataset.table[0].rows[0]["dateDBO"].ToString("dd/MM/yyyy"); を試してください。

于 2012-12-11T06:32:11.060 に答える