Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从PostgreSql中具有数值、字符串和空值的列中仅选择数值?_Postgresql - Fatal编程技术网

如何从PostgreSql中具有数值、字符串和空值的列中仅选择数值?

如何从PostgreSql中具有数值、字符串和空值的列中仅选择数值?,postgresql,Postgresql,TestTable中的文本列 1,,9876,12a3,00a1,3333,7777,ABCD,EFGH 我想返回任何数字或文本的数字 我的问题是 SELECT "Test" FROM "MyTable" WHERE "Test" not like '%[^0-9]%' and "Test" != ''; 查询返回19876,12a3,00A133337777,ABCD,EFGH 我想要的是1987633337777您可以使用正则表达式进行测试,例如:测试“~”^[0-9]*$”或测试“!

TestTable
中的文本列

1,,9876,12a3,00a1,3333,7777,ABCD,EFGH
我想返回任何数字或文本的数字

我的问题是

SELECT "Test" FROM "MyTable" 
WHERE "Test" not like '%[^0-9]%' and "Test" != '';
查询返回
19876,12a3,00A133337777,ABCD,EFGH


我想要的是
1987633337777

您可以使用正则表达式进行测试,例如:
测试“~”^[0-9]*$”
测试“!”[^0-9]|$
这将捕获
'
非空的空格。这很有效。非常感谢。