如果在SELECT
查询名称中,每列和一列使用TRIM(TRAILING '0' FROM ColumnName) AS ColumnName
,那么确定。
但如果SELECT *
并希望将Trim Trailing 0
用于一列呢?
使用SELECT *, REPLACE(ColumnName, '0', '')
之类的内容?但是只需要替换结尾0
答案 0 :(得分:0)
select *.TRIM(TRAILING '0' from ColumnName) AS ColumnName
答案 1 :(得分:0)
尝试:
SELECT data.*,
TRIM(TRAILING '0' from ExchangeRate) AS ExchangeRateTrimmed
FROM (.
... the subquery ...
) data
Hovever,此查询会返回子查询中的所有列(包括ExchangeRate
列)以及一个新的附加列 - ExchangeRateTrimmed
。
不幸的是,ANSI SQL标准没有使用带有语义的'*'的喷射式“给我所有列,但只修改其中一个”,也不“给我所有列除了一个”。
现在SELECT *
表示“给我所有列 - 就像它们在表格(或子查询)中一样,无法更改它们”。
如果要使用表达式更改一列,则必须列出SELECT子句中的所有其他列:
SELECT col1,
col2,
.....
expression on col X [as col_name],
....
colN
FROM table