PostgreSQL如何在一大堆字段里面排除几个字段select出来
最近看了一位大神的博客,感觉挺受用的,记录一下,里边引用了一篇文章如下:
http://www.postgresonline.com/journal/archives/41-How-to-SELECT-ALL-EXCEPT-some-columns-in-a-table.html
大堆字段排除几个字段select出
方法一、命令行方式
输入: SELECT 'SELECT ' || array_to_string(ARRAY(SELECT 'o' || '.' || c.column_name FROM information_schema.columns As c WHERE table_name = 'officepark' AND c.column_name NOT IN('officeparkid', 'contractor') ), ',') || ' FROM officepark As o' As sqlstmt 输出: SELECT o.officepark,o.owner,o.squarefootage FROM officepark As o
方式二、借助pgAdmin III, 在数据表上鼠标右键,创建Select 脚本,可以把所有字段都列出来了,删除不要的字段很简单的。
方式三、psql | awk 处理
psql -h host -d datebase -U user -c 'd schame.table_name' | awk -F ' ' 'BEGIN{ print "SELECT "; ORS=" "} { if (NR > 3) {print $1","} } END{print " " }'; 输出格式为: SELECT id, num, test, ....