0

我正在使用以下选择查询从 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

尝试这个。不要在演员表上浪费时间。只需获取您需要的值,然后让 String.Format 以您需要的格式显示它。

查询正常的 DoB 值(如您的格式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 回答
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 回答