sym*_*246 6 database postgresql reference delete-row
我是 PostgreSQL 的新手,希望能够在特定列以某种模式开头的情况下从表中删除行。
例如,
我有一reference列是一种时间戳(YYMMDDHHMM)。如果参考列以 16******** 开头,那么我希望将其删除。
到目前为止,我知道如果整个引用已知,如何删除该列。例如:
DELETE FROM my_tbl WHERE name='test1' AND ref_no=1601010000;
Run Code Online (Sandbox Code Playgroud)
但是,我需要更改此设置,以便条件仅指定参考号的前 2 位数字。
kro*_*lko 10
阅读有关LIKE运算符的信息:https://www.postgresql.org/docs/8.3/static/functions-matching.html
使用此命令删除行:
DELETE FROM my_tbl WHERE reference LIKE '16%'
Run Code Online (Sandbox Code Playgroud)
在从表中删除行之前,首先在常规 SELECT 语句中使用它来检查删除条件是否确实按预期工作:
SELECT * FROM my_tbl WHERE reference LIKE '16%'
Run Code Online (Sandbox Code Playgroud)
如果reference列不是类型varchar,但例如int,您需要首先以这种方式将其转换(转换)为 varchar 数据类型:
SELECT * FROM my_tbl WHERE reference::varchar LIKE '16%'
DELETE FROM my_tbl WHERE reference::varchar LIKE '16%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7011 次 |
| 最近记录: |