De volta ao SQL Server, eu uso o comando abaixo para obter o padrão de string correspondente #1234
da coluna chamadaNumber
SELECT [m].[Number]
FROM [Boats] AS [m]
WHERE [m].[Number] LIKE N'[#][0-9][0-9][0-9][0-9]'
Agora no Postgres, tentei usar o comando abaixo, mas sem sorte:
SELECT m.Number
FROM Boats AS m
WHERE m.Number ILIKE '#[0-9][0-9][0-9][0-9]'
Alguma idéia de qual expressão de padrão devo usar para obter o filtro correto?
Você pode usar o operador
~
que usa todo o poder das expressões regularesUma versão mais estrita do regex seria
'^#\d{4}$'
, para que ele corresponda apenas a strings que começam com#
então têm 4, e apenas 4 números, e então há o final da string.