postgresql
J符离
这个作者很懒,什么都没留下…
展开
-
null值在in、not in条件中
一、直接上代码准备2个表的数据,表C:表D:select * from "C" where code in (select code from "D");结果如下select code from "D"这个语句的结果包含了null值,但是在in中,会自动忽略null值;select * from "C" where code not in (select code from "D");上面这个语句跑出来的结果是空,原因是not in中包含了null值,会直接返回false,导致整个whe原创 2020-08-15 16:52:39 · 3329 阅读 · 1 评论 -
SQL中join连接后面的on与where的区别
两张测试表,数据如下t_classt_student一、内连接select * from t_class a inner join t_student bon a.id = b.class_id and a.name='语文';select * from t_class a inner join t_student bon a.id = b.class_id where a.name='语文';内连接下,不管a.name='语文’这个条件是在on还是在where中,查询结果原创 2020-06-12 22:43:23 · 587 阅读 · 0 评论 -
postgresql中to_char()常用方法
postgresql中的to_char()用法和Oracle相比,多了一个参数。to_char(待转换值,转换格式);常用转换格式有2种:一个是写若干个0,如果待转换的值位数少于于你定义的转换格式位数,输出值会自动在左边补0,位数补齐到转换格式的长度;如果待转换的值位数多于你定义的转换格式位数,输出值为:##(长度跟你定义的转换格式一样);另一个是写若干个9,如果待转换的值位数少于你定义的转换格式位数,正常输出;如果待转换的值位数多于于你定义的转换格式位数,输出值为:##(长度跟你定义的转换格式一原创 2020-06-08 17:47:56 · 27504 阅读 · 0 评论 -
create table1 as select * from table2注意事项
create table city_test as select * from city;工作中,偶尔会用以上语句建新表,这种方式建表存在一些问题,除了大家一直说的默认值问题外(不能将原表中的default value也一同迁移过来),还有一个问题就是,如果原来的表有主外键、索引等,新表不会自动生成这些东西,需要你自己在建表后,手动添加这些约束。测试如下:原有表t_class,新建表t_class_testcreate table t_class_test as select * from t_cl原创 2020-06-06 21:49:56 · 1292 阅读 · 0 评论 -
postgresql跨库查询数据
如上图,有两个数据库,现在想要在postgres这个数据库的环境下调用test数据库的数据表test1,用惯了sqlserver,于是写了下面的脚本:select * from test.test1;结果:查了一下,postgresql如果要跨库查询,没那么方便的。一般的方式,是先要在对应的数据库上建立一个dblink,然后在查询时定义后查询参数才能查到数据。一、创建dblink直接在相应数据库的sql编辑器上执行:create extension dblink;即可,执行后你的“拓展”中.原创 2020-05-24 17:00:22 · 8883 阅读 · 0 评论