0

以下のselectクエリを使用して、Excelシートから詳細を取得しています。

Select UserID,UserName,Country,State,City,DOB from [Sheet1$]

デフォルトでは、DOB(DateOfBirth)値はExcelファイルのmm / dd/yyyy形式です。ExcelでDOB値の形式mm/dd/yyyyをdd/mm / yyyまたはdm-yyyy(デフォルト形式以外)に変更した場合、上記の選択クエリは空のDOB値を取得します。

日時値の任意の形式を取得するための選択クエリを作成するにはどうすればよいですか?

SQLにCast()またはConvert()に類似したメソッドがある場合は、お知らせください

4

2 に答える 2

0

普遍的な値を取得するには、普遍的な値を設定する必要があります。

ここに例があります:

05/22/1978

より多くのパターンがあります。

しかし、ここにあなたが使いやすいかもしれないコードがあります:

if (value != null)
{
    if (value is double)
    {
        dt = DateTime.FromOADate((double)value);
    }
    else
    {
        DateTime.TryParse((string)value, out dt); //here you can try patterns of dd/mm/yyyy
    }
}
于 2012-05-15T12:34:31.573 に答える
0

これを試して。キャストで時間を無駄にしないでください。必要な値を取得し、String.Format で表示に必要な形式で表示するだけです。

通常の DoB 値 ( format などmm/dd/yyyy) を照会し、それを表示する場所で使用しますString.Format( {0:dd/MM/yyyy},DOB );

お役に立てれば

たとえば、結果を含むデータセットを取得した後、

string DateOfBirth = String.Format ( {0:dd/MM/yyyy},<yourDataSet>.Tables[0].Rows.Field<string>(column_number));
于 2012-05-15T12:40:33.610 に答える