① postgresql数据库 用sql语句 怎么在指定位置添加字段
1、在创建好的数据库book,选中数据库book新建表,鼠标右键新建表。
② SQL. Postgres. 两个函数1.cast as numeric 和2. to_number 有何异同
首先cast不是函数,是转换运算符,可以把一种类型的数据转换为另外一种数据
语法格式:CAST ( expression AS target_type )
to_number 是postgres的内置函数,把字符串数字转换成数字类型
语法格式:TO_NUMBER(string, format)
这个函数转换的结果是数值类型的数据,而cast可以转任意类型的数据。
③ 请教pgsql中时间,统计相关的函数,如date
1.获取系统时间函数
select now(); --2012-05-12 18:51:59.562+08
select current_timestamp; --2012-05-12 18:52:12.062+08
select current_date; --2012-05-12
select current_time; --18:53:23.234+08
2.时间的计算
--使用interval
select now()+interval '2 day'; --2012-05-14 20:05:32.796+08 2天后
select now()-interval '2 day'; --2012-05-10 20:07:23.265+08 2天前
select now()+interval '2 hour'; --2012-05-12 22:06:38.375+08 2小时后
....
interval可以不写,其值可以是
Abbreviation Meaning
Y Years
M Months (in the date part)
W Weeks
D Days
H Hours
M Minutes (in the time part)
3.时间的截取
--使用extract extract(interval,timestamp);
select extract(year from now()); --2012
select extract(mon from now()); --5 5月份
...
interval值参考上面
4.时间的转换
select timestamp '2012-05-12 18:54:54'; --2012-05-12 18:54:54
select date '2012-05-12 18:54:54'; --2012-05-12
select time '2012-05-12 18:54:54'; --18:54:54
select TIMESTAMP WITH TIME ZONE '2012-05-12 18:54:54'
--2012-05-12 18:54:54+08
--与unix时间戳的转换
SELECT TIMESTAMP 'epoch' + 1341174767 * INTERVAL '1 second';
--2012-07-01 20:32:47
④ pgsql使用函数调用和直接使用sql对数据表进行修改有何区别
在SQL server中视图仅仅是SQL的映射,它一般事不含有程序运算,仅用于查询。 自定义函数是程序块,它支持参数,并且返回类型多样化。
数据库一般提供数据存储的作用,业务逻辑运算却由其它应用程序处理,例如JAVA。如果业务逻辑比较复杂而且高度依赖数据库里的各种数据,这样JAVA与数据库之间可能需要通讯多次,才可以把流程完成。这样无疑会产生交互的时间,所以如果把复杂的运算直接让数据库中计算出来,那效率就会相当高,所以就有了自定义函数。
⑤ PostgreSQL 动态SQL语句怎么写
你这个不是执行动态的SQL啊,只是调用执行函数,就是一个select f_name()。
动态执行SQL和Oracle的execute immediate类似,如:
execute 'select '''||123||'''' into v_temp;
函数里调用函数可以用perform f_name();
⑥ pgsql数据库怎么执行sql语句
PostgreSQL的PL/pgSQL语言是支持动态SQL语句的(说execute immediate的是ECPG所支持的)。但是,要记得重要的一点: 是在PL/pgSQL语言中支持。而PL/pgSQL语言一个块结构的语言,它以begin ... end为块的开始与结束标识。
⑦ gp或者pg数据库,编写函数过程中,sql字符串拼接单引号的问题
方法一:sql_txt := 'SELECT com_id FROM study WHERE tab_name='||''''||input_name||'''';
方法二:sql_txt := 'SELECT com_id FROM study WHERE tab_name='||quote_literal(input_name);
方法三:sql_txt := 'SELECT com_id FROM study WHERE tab_name='||chr(39)||input_name||chr(39);
⑧ postgresql如何执行sql文件
在pgAdmin的窗口中,直接打开SQL文件然后执行就可以了。
你所说的Oracle的执行方式,应该是在sql plus命令窗口中执行sql文件。这个功能在PostgreSQL的命令窗口psql中也有此功能:开启psql命令窗口之后,执行命令:
isqlfile_path
就可以执行指定的sql文件了, 其中sqlfile_path是要执行的sql文件, 如下图,
要注意的是: 在Windows系统中,路径中用的是斜杠,不是反斜杠。
⑨ PostgreSql如何查询指定schema下的所有函数信息,以及函数DDL语句和参数信息,用sql实现查询
SELECT routines.routine_name, parameters.data_type, parameters.ordinal_position
FROM information_schema.routines
JOIN information_schema.parameters ON routines.specific_name=parameters.specific_name
WHERE routines.specific_schema='my_specified_schema_name'
ORDER BY routines.routine_name, parameters.ordinal_position;
这个sql语句可以查询出来你所有的函数,已经函数中对应的参数,'my_specified_schema_name'换成你对应的schema名字.