Esta consulta actualiza una columna si UserName solo tiene números.
UPDATE [dbo].[MyTable] SET [MyColumn] = CAST(CASE WHEN UserName LIKE '%[^0-9]%' THEN 0 ELSE 1 END AS BIT)Necesito volver a traducirlo a postgreSql. debe ser algo como esto
UPDATE "MySheme"."MyTable" SET "MyColumn" = CAST(CASE WHEN "UserName" LIKE '%[^0-9]%' THEN 0 ELSE 1 END AS BIT)Considerar:
update mytable set mycolumn = (username !~ '\d')::int::bit Esto produce un valor de bit de 1 si el nombre de username no contiene ningún dígito, de lo contrario, 0 .
Tenga en cuenta que Postgres admite el tipo de datos boolean , que probablemente tendría más sentido aquí. Esto también sería simplemente la consulta:
update mytable set mycolumn = (username !~ '\d')Tenga en cuenta que no cité los identificadores. Los identificadores entre comillas generalmente no agregan valor y hacen que las consultas sean innecesariamente largas; recomendaría evitarlos en su configuración.