提问人:Robert 提问时间:8/19/2023 更新时间:8/19/2023 访问量:59
Postgresql - 将数字截断到范围
Postgresql - truncate numbers to range
问:
是否有内置函数可以截断一种类型的值以适合另一种类型的范围?例如,将 a 转换为 .如果大于可以容纳的大小,则此操作可能会失败。在这种情况下,我希望将数字截断为最大值。INTEGER
SMALLINT
INTEGER
SMALLINT
SMALLINT
答:
1赞
Adrian Maxwell
8/19/2023
#1
据我所知,没有内置函数,您需要使用大小写表达式来处理最小值和最大值,例如:
SELECT CASE
WHEN your_integer_column > 32767 THEN 32767
WHEN your_integer_column < -32768 THEN -32768
ELSE your_integer_column
END::smallint AS truncated_smallint
FROM your_table;
评论