【发布时间】:2019-01-22 17:19:16
【问题描述】:
为以下内容编写 SQL 查询 (postgres) 的最简单方法是什么: 我有一个地址表,其中有一个街道号码列。可以包含数字和字母。如果参数是“3”,我想返回值以 3 开头的行,后跟不是数字的值。例如,街道编号值为 3、3A、3 A 但不是 33 的行。
【问题讨论】:
标签: sql regex postgresql
为以下内容编写 SQL 查询 (postgres) 的最简单方法是什么: 我有一个地址表,其中有一个街道号码列。可以包含数字和字母。如果参数是“3”,我想返回值以 3 开头的行,后跟不是数字的值。例如,街道编号值为 3、3A、3 A 但不是 33 的行。
【问题讨论】:
标签: sql regex postgresql
您可以使用matching using regular expressions。
查询可能如下所示:
SELECT * FROM table WHERE streetnumber ~ '3[^0-9]*'
正则表达式模式3[^0-9]* 匹配“数字 3 后跟零个或多个非数字字符”。
【讨论】:
3\s*A。 \s* 表示中间有零个或多个空格。