pgsql最后两位大于等于60的减35
时间: 2023-08-17 17:04:26 浏览: 89
如果您要对一个数字类型的列提取最后两位数,并且该最后两位数大于等于60时减去35,可以使用 `right()` 函数、数学运算符 `-` 和条件表达式 `CASE WHEN`。假设您要操作的列名为 `column_name`,那么您可以使用如下 SQL 语句:
```
SELECT CASE WHEN right(column_name::text, 2)::int >= 60
THEN right(column_name::text, 2)::int - 35
ELSE right(column_name::text, 2)::int
END
FROM table_name;
```
其中,`table_name` 是您的表名。该 SQL 语句的含义是将 `column_name` 列转换为字符串类型,然后提取最后两位字符,并将其转换为整数类型。接着,使用条件表达式 `CASE WHEN` 判断最后两位数是否大于等于60,如果大于等于60,则减去35,否则不做处理。最后,返回计算结果。如果您需要在查询结果中包含其他列,可以将它们添加到 `SELECT` 语句中。
相关问题
pgsql给列20221216095950最后两位大于等于60的减去41
可以使用以下 SQL 语句来实现:
```
UPDATE table_name SET "20221216095950" = "20221216095950" - 41 WHERE RIGHT("20221216095950", 2)::integer >= 60;
```
其中,`table_name` 是你要操作的表名,`"20221216095950"` 是你要修改的列名。这条 SQL 语句会将满足条件的行的 `"20221216095950"` 列的值减去 41。注意,这里使用了 `RIGHT()` 函数来获取该列的最后两位数,然后使用 `::integer` 将其转换为整数类型进行比较。
pgsql给20221216095950最后两位数大于等于60的减去41
可以使用以下 SQL 语句来实现:
```
UPDATE table_name SET column_name = column_name - 41 WHERE column_name >= '20221216095960';
```
其中,`table_name` 是你要操作的表名,`column_name` 是你要修改的列名。这条 SQL 语句会将满足条件的行的 `column_name` 值减去 41。注意,这里将 `20221216095960` 作为字符串进行比较,因为它不是一个有效的数字(最后两位数大于等于 60)。
阅读全文