Mysql 在查询选择中从一个列修剪尾部0*

Mysql 在查询选择中从一个列修剪尾部0*,mysql,Mysql,如果在“选择查询名称”中选择每一列,并对其中一列使用ColumnName中的“0”作为ColumnName,则单击“确定” 但如果选择*并希望对一列使用修剪尾部0,该怎么办 要使用类似SELECT*、REPLACEColumnName、“0”之类的内容,请执行以下操作:?但是只需要替换结尾0从ColumnName中选择*.0作为ColumnName尝试: SELECT data.*, TRIM(TRAILING '0' from ExchangeRate) AS ExchangeR

如果在“选择查询名称”中选择每一列,并对其中一列使用ColumnName中的“0”作为ColumnName,则单击“确定”

但如果选择*并希望对一列使用修剪尾部0,该怎么办

要使用类似SELECT*、REPLACEColumnName、“0”之类的内容,请执行以下操作:?但是只需要替换结尾0

从ColumnName中选择*.0作为ColumnName

尝试:

SELECT data.*,
       TRIM(TRAILING '0' from ExchangeRate) AS ExchangeRateTrimmed
FROM (.
  ... the subquery ...
) data
但是,此查询将重新检索子查询中的所有列,包括ExchangeRate列加上一个新的附加列ExchangeRate

不幸的是,ANSI SQL标准没有使用“*”的shortcut,它的语义是“给我所有列”,但只修改其中一列,也不给我所有列,只有一列除外

现在,SELECT*意味着给我所有的列,就像它们在表或子查询中一样,不需要更改它们

如果要使用表达式更改一列,则必须在SELECT子句中列出所有其他列:

SELECT col1,
       col2,
       .....
       expression on col X [as col_name],
       ....
       colN
FROM table

无论如何,使用SELECT*是不可取的。好啊选择*不正确。什么是替代方案?简单地说出每一个必要的列?你在什么地方试过这个吗?我在任何地方都找不到这种语法。@Meabed这是我的评论还是mostafa的评论?不幸的是,它无法工作。最初的查询是SELECT*FROM SELECT*,CASTCONCAT_WS'-',RecordYear,RecordMonth,RecordDay AS DATE RecordDate,CASTCONCAT_WS'-',DocumentYear,DocumentMonth,DocumentDay AS DATE DocumentDate FROM 2_1_日记帐数据更改为SELECT*。trailing'0'FROM ExchangeRate AS ExchangeRate FROM SELECT*,CASTCONCAT_WS'-',RecordYear,RecordMonth,RecordDay作为日期RecordDate,CASTCONCAT_WS'-',DocumentYear,DocumentMonth,DocumentDay作为日期DocumentDate来自2_1_日记数据,没有结果,没有错误。是的,我列出了所有必要的列,考虑到选择*不是一个好选项。