1

我知道如何在 SELECT 语句中使用 CONVERT 函数来更改日期列的格式:

   SELECT 
       StationID
       , CONVERT(varchar, [Date], 101) as Date
       , Value 
   FROM my_table 

但是我想知道我是否可以在运行 SELECT 语句之前设置日期格式,当我不知道以下 SELECT 语句中日期列的名称时:

   SELECT * from FROM my_table 

是否可以在 SELECT 语句之前运行任何 SET 语句或其他 T-SQL,以便我可以临时更改日期格式?

谢谢

4

2 回答 2

4

不。

特别是,您选择的任何日期列实际上根本没有格式化,而是作为用于日期的二进制“格式”中的实际日期数据沿线路返回。如果您看到它们已格式化,那是因为您的客户(管理工作室或其他工具)正在将它们转换为要显示的字符串。

当您使用SELECT *时,显然无法告诉 SQL Server 对任何特定列进行任何转换,因此无论底层查询返回的数据类型如何,数据都将返回。因此,无论您的数据类型是否真的是日期,无论如何都不会发生任何操作。

于 2012-06-12T00:57:46.407 回答
3

我很确定没有办法按照你的要求做。但是,当您使用编程语言输出日期字符串时,有一些方法可以对其进行格式化。

于 2012-06-12T00:13:33.953 回答