pgsql将varchar列2023-01-26 01:13:70中最右边大于等于60的两位数减去41
时间: 2024-03-29 17:37:41 浏览: 76
zabbix-web-apache-pgsql-7.0-centos-latest.tar
如果你要将varchar列中最右边大于等于60的两位数减去41,你可以使用以下SQL语句:
UPDATE table_name SET varchar_column = CONCAT(SUBSTRING(varchar_column FROM 1 FOR LENGTH(varchar_column)-2),
CASE WHEN TO_NUMBER(SUBSTRING(varchar_column FROM -2 FOR 2)) >= 60
THEN TO_CHAR(TO_NUMBER(SUBSTRING(varchar_column FROM -2 FOR 2)) - 41, 'FM00')
ELSE SUBSTRING(varchar_column FROM -2 FOR 2) END);
这将从varchar_column列中提取除最后两位之外的所有内容,然后检查最后两位是否大于等于60。如果是,则将这两位减去41,否则保持不变。最后,将结果追加到剩余的文本中。请注意,此方法假设varchar_column列中的最后两个字符始终是数字。如果这不是始终如一的,那么你需要使用更复杂的逻辑来处理。
阅读全文