人の年齢、または死亡した場合は「死亡」を返す機能があります。数値または故人のいずれかを返すため、RETURNはVARCHAR2です。
年齢が返されると、72.93541936015413085912743681395289882628のような値が返されます。変数内の値を変更して、小数点の前の文字のみを返すようにする方法はありますか?
ありがとう
数字としてキャストします。
floor(cast(column as float))
切り捨てます
ceil(cast(column as float))
切り上げます
round(cast(column as float))
丸めます
文字列として送り返す必要がある場合は、キャストし直してください
cast(round(cast(column as float)) as varchar2(50))
ただし、値'deceased'を確認する必要がある場合があるため、ケースを使用します。
select retVal =
case column
when 'deceased' then 'deceased' -- pushing up daisies
else cast(round(cast(column as float)) as varchar2(50)) --alive and kicking
end