如何将查询结果分配给PL/pgSQL中的变量,这是PostgreSQL的过程语言?
我有一个功能:
CREATE OR REPLACE FUNCTION test(x numeric)
RETURNS character varying AS
$BODY$
DECLARE
name character varying(255);
begin
name ='SELECT name FROM test_table where id='||x;
if(name='test')then
--do somthing
else
--do the else part
end if;
end;
return -- return my process result here
$BODY$
LANGUAGE plpgsql VOLATILE
Run Code Online (Sandbox Code Playgroud)
在上面的函数中我需要存储此查询的结果:
'SELECT name FROM test_table where id='||x;
Run Code Online (Sandbox Code Playgroud)
到变量name
.
怎么处理这个?
database postgresql stored-procedures plpgsql postgresql-9.1
我在postgresql中工作,我需要在查询本身转换日期格式,在mysql中有调用选项DATE_FORMAT
,我可以使用这样的查询:
Select DATE_FORMAT(date_time, '%b %e, %Y, %T') from table_name
Run Code Online (Sandbox Code Playgroud)
postgresql有什么选择吗?如果有的话请告诉我?
我在PostgreSQL中有一个表,我需要检测列是否包含特殊字符#,$,^,&,*,@,!
等,或者是否为空.
例如,表格可能是这样的
如何编写这样的查询?
我有以下代码.
public class SplashScreen extends Activity {
private int _splashTime = 5000;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
new Handler().postDelayed(new Thread(){
@Override
public void run(){
Intent mainMenu = new Intent(SplashScreen.this, MainMenu.class);
SplashScreen.this.startActivity(mainMenu);
SplashScreen.this.finish();
overridePendingTransition(R.drawable.fadein, R.drawable.fadeout);
}
}, _splashTime);
}
}
Run Code Online (Sandbox Code Playgroud)
我在分析这段代码时遇到了问题.至于知道处理程序在主线程中运行.但它有在其他线程中运行的线程.
MainMenu.class将在主线程或第二个线程中运行?如果主线程停止5秒,ANR将被提升.为什么当我停止延迟(_splashTime)
ANR时不显示(即使我将它增加到超过5秒)
我正在使用jsp/servlet开发Web应用程序,我遇到了netbeans和Java的问题.我的程序需要大量的数据处理.所以我使用-Xmx512m来增加最大堆大小
工具 - >服务器 - >在平台选项卡上,Java平台下有一个VM选项.然后它工作正常..
现在我的问题是我正在构建WAR文件,直接部署并运行在我的另一台机器Tomcat中进行演示,这里我面临同样的问题java内存错误堆空间我也尝试过
环境变量集CATALINA_OPTS = -Xms512m -Xmx512m
这对我也没有帮助
如何解决这个问题?请指出正确的方向
嗨我有下表,其中包含开始时间,结束时间,总时间
STARTTIME | ENDTIME | TOTAL TIME TAKEN |
02-12-2013 01:24:00 | 02-12-2013 04:17:00 | 02:53:00 |
Run Code Online (Sandbox Code Playgroud)
我需要TOTAL TIME TAKEN
使用oracle中的更新查询更新上面的字段
为此,我尝试了以下选择查询
select round((endtime-starttime) * 60 * 24,2),
endtime,
starttime
from purge_archive_status_log
Run Code Online (Sandbox Code Playgroud)
但是我得到了02.53,但是我的期望格式是02:53:00请让我知道我该怎么做?
我在postgresql中面临指数函数的问题.如果我使用这个select语句select exp(5999)
,我会得到:
ERROR: value out of range: overflow
SQL state: 22003
Run Code Online (Sandbox Code Playgroud)
如果我使用这个select语句select exp(5999.1)
,我会得到指数结果.
在其他情况下,如果我使用此语句select exp(9999.1)
,我收到以下错误:
ERROR: argument for function "exp" too big
SQL state: 22003
Run Code Online (Sandbox Code Playgroud)
请让我知道为什么会出现这个问题以及这类问题的解决方案是什么?
我需要运行以下代码只有60秒
代码工作完美,延迟2秒,每5秒重复一次.
但在这里我只需要60秒就可以完成这一切
int delay = 3000; // delay for 3 sec.
int period = 5000; // repeat every 5 sec.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("Would it run?"+System.currentTimeMillis());
}
}, delay, period);
Run Code Online (Sandbox Code Playgroud)
请告诉我怎么做?
我使用以下代码使用java恢复PostgreSQL数据库
Runtime r = Runtime.getRuntime();
Process p;
String cmd ="D:/Program Files/PostgreSQL/9.1/bin/pg_restore.exe --host localhost --port 5432 --username postgres --dbname mytestqq --role postgres --no-password --verbose D:\sathish\rawDatabase.backup";
p = r.exec(cmd);
Run Code Online (Sandbox Code Playgroud)
我在rawDatabase.backup文件中有42个表,但只有一个表正在恢复,为什么其余的表没有发生我的代码中的错误?提前致谢!!!!
我的Math.cos()
方法有点问题.我知道,我必须在使用之前将角度转换为Radians Math.cos()
.但如果我这样做:
System.out.println(Math.cos(Math.toRadians(90));
Run Code Online (Sandbox Code Playgroud)
输出:6.123233995736766E-17
Math.sin()
运作良好.
大家好我正在使用以下函数来检查java中的连续数字
这里面临的问题是它仅适用于第一个连续数字
例如,它适用于123456789123456XXXX, 但希望此工作连续任何地方 XXXX123456789123456或XX123456789123456XX
更新
现在,如果我找到13个连续数字,那么我需要将所有连续数字传递给掩码函数
我的结果应该是这样的
输入123456789123456XXXX结果应为123456 %%%%% 3456XXXX
输入XXXX123456789123456结果应为XX123456 %%%%% 3456XX
请帮我解决这个问题
我的守则
public void checkPosCardNoAndMask(String cardNo) {
String maskNumber = "";
String starValue = "";
boolean isConsecutive = false;
int checkConsecutive = 0;
for (int i = 0, len = cardNo.length(); i < len; i++) {
if (Character.isDigit(cardNo.charAt(i))) {
maskNumber = maskNumber + cardNo.charAt(i);
} else {
if (checkConsecutive >= 13)
isConsecutive = true;
else
break; …
Run Code Online (Sandbox Code Playgroud) java ×5
postgresql ×4
database ×3
android ×1
angle ×1
handler ×1
math ×1
mysql ×1
oracle ×1
plpgsql ×1
runtime.exec ×1
timestamp ×1
tomcat ×1
trigonometry ×1