8

我在想。如果我有一个包含 20 个(或更多)列名的表,并且我想选择所有这些列,但是这 20 列中的一列是日期列,并且您想更改该列的格式,您会怎么做那?这显然不起作用(创建了重复的列)

Select *, CONVERT(varchar(100),courseStartDate,111) from EthicsManagement

这是为了避免编写选择语句单独选择所有 20 列并使用语句转换其中之一

  Select xxxx,xxx,xxx,xxx,xx,xx,xxx,xxx,xx,xx,xxx,xxx,xx, CONVERT(varchar(100),courseStartDate,111) from xxx
4

3 回答 3

8

只要您将列命名为不同的名称,它就应该允许您这样做:

Select *, CONVERT(varchar(100),courseStartDate,111) as myConvertedDateColumn
from EthicsManagement
于 2013-04-15T12:31:11.563 回答
0
Select t.*, CONVERT(varchar(100),courseStartDate,111) as converted from EthicsManagement t
于 2013-04-15T12:31:17.993 回答
0

我看到两个选项:

  1. 使用 SCRIPT AS TABLE 菜单选项让它自动输入所有列名,然后删除您不想要的列名(并在那里添加您的 CONVERT() 函数) -请参阅此 StackOverflow 答案

  2. 创建一个 TEMP 表,在其中 DROP COLUMN 重复列 -请参阅此 StackOverflow 答案

于 2020-09-25T06:33:44.127 回答