2

我有一个小的 sql 查询,它获取日期时间列的日期部分

Select DATE_FORMAT(`tbldata`.`fldDate`, '%d/%m/%Y') AS formattedDate from tbldata

如何将其转换为字符串?

我在 vbscript 文件中运行 sql 查询并将返回的数据添加到 excel 电子表格中。

但是,脚本失败,因为返回的数据是日期类型。

有没有办法确保从 mysql 返回的日期是字符串而不是日期?

谢谢

4

4 回答 4

1

DATE_FORMAT()函数的全部目的是创建一个字符串。如果你没有得到一个字符串,你正在做其他事情(你的 SQL 有语法错误,所以你可能已经去掉了一些东西来发布在这里)。

编辑:嗯,你得到一个DATE_FORMAT()允许任意输出的日期类型真的很奇怪。我想知道如果你运行例如这个会发生什么:

Select DATE_FORMAT(`tbldata`.`fldDate`, 'Hellow, World, today it is %m') AS formattedDate
from tbldata
于 2013-02-13T12:52:44.180 回答
0

您可以使用 CAST() 函数来实现这一点,您的 SQL 将是这样的:

Select CAST( DATE_FORMAT(`tbldata`.`fldDate`, '%d/%m/%Y'),"bb") AS CHAR) AS formattedDate from tbldata

这里是 CAST 函数的参考:http: //dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast

玩得开心 !:)

于 2013-02-13T12:52:35.243 回答
0

日期MySQL 中的字符串。但如果你真的想确定使用Cstr()

于 2013-02-13T12:48:45.507 回答
0

> 有没有办法保证mysql返回的日期是字符串而不是日期?

就在这里 -

  • 使用您的查询创建一个视图。
  • 检查表中的列数据类型information_schema.columns

例如:

SELECT * FROM `information_schema`.`columns`
WHERE table_schema = 'database name' AND table_name = 'view name'
于 2013-02-14T07:14:16.743 回答