2012-12-11 23 views
0

我需要一些關於從數據表中檢索記錄的建議。 我有一個表包含列dateDBO日期時間。我使用像select * from tblUsers選擇查詢,在兩個不同的scenario.Where在一個(服務器),我得到的dateDBO格式像01/01/2012 12:00:00 AM和其他(本地)的情況我得到這樣01-Jan-00 12:00:00 AMselect * tablename返回兩種不同格式的datetime

任何機構可以告訴我這是怎麼發生的,我知道我可以通過演員或轉換指定特定的列名獲得此修復程序,但是這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 

我想問問大家,控制面板區域選項場會影響到查詢輸出?

當我改變這個,我發現結果與我在服務器上得到的一樣。

+2

什麼是查詢數據的客戶端?最好使用客戶端的語言功能,而不是使用SQL進行格式化。 – JohnFx

+0

都是'dateDBO' datetime的數據類型? –

+0

你可以發佈表中的一些數據,你是否只使用sql來做到這一點? –

回答

0

試試這個 dataset.table [0] .rows [0] [「dateDBO」]。ToString(「dd/MM/yyyy」);

2

嘗試這種情況:

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

然後你需要加上這三列。

欲瞭解更多信息,請參閱 http://www.sql-server-helper.com/tips/date-formats.aspx

+0

,我可以使用這個,但我想知道這是由於我做的一些設置或這是一些錯誤或問題? –

+0

我不認爲這是錯誤或問題。如果你想做一些特殊的事情而不是默認設置,只需使用convert函數即可。 順便說一句,我想通過運行DateTime類來做到這一點,它應該很容易。 – CharlesX

相關問題