我使用游标来查看一些数据,但我需要根据参数声明不同的sql语句。问题似乎是我无法在该声明中使用 if statmets:
DECLARE
CURSOR c IS SELECT * FROM TRAFICO
IF TipoConsulta = 'mes' then
BEGIN
WHERE TO_CHAR(FECHA_BUSQUEDA, 'MM-YYYY') =To_CHAR(ADD_MONTHS(SYSDATE, -1), 'MM-YYYY')
ELSE
WHERE FECHA_BUSQUEDA >= SYSDATE -7
END IF;
ORDER BY ID_TRAFICO;
begin
FOR r IN C LOOP
BEGIN
Utl_File.Put_Line(Arch, r.ID_TRAFICO );
i:=i+1;
END;
END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)
我只需要使用 if 更改 sql 语句即可。
我该怎么做呢??
TNKS
对编码非常陌生,所以请理解;)
我基本上试图使用while循环和if语句来制作一个计算器。
#include <iostream>
using namespace std;
int x = 1;
int number;
int total = 0;
int amt = 1;
int a;
int b;
int c;
int d;
string ans;
class OperateClass
Run Code Online (Sandbox Code Playgroud)
我收到错误:“main”声明中有两种或多种数据类型
请解释这意味着什么/如何解决它。
我还想知道是否需要为每个函数创建一个新对象(加、减、乘、除)
请帮忙!
int main()
{
cout << "Do you want to add, subtract, multiply or divide? I want to : " << endl;
cin >> ans;
if(ans == "add"){
OperateClass opOper;
opOper.add();
}else{
if(ans == "subtract"){
OperateClass opOper
opOper.subtract();
}
}else{ …Run Code Online (Sandbox Code Playgroud) 我正在运行 1024 个矩阵的适应度函数,每个矩阵都有自己的块并且大小相同。每个块都有n*n线程(矩阵的维度)并且需要具有n*n共享内存,以便我可以轻松进行求和缩减。然而,n所有矩阵的维数在运行前都是可变的(即可以手动更改,但始终是 2 的幂,因此求和很简单)。这里的问题是共享内存必须使用常量分配,但我还需要将值从主机传递到内核。我在哪里声明维度,n以便它对 CPU 可见(用于传递给内核)并可用于声明共享内存的大小(在内核内)?
我的代码结构如下:
从main.cu我调用内核:
const int num_states = 1024
const int dimension = 4
fitness <<< num_states, dimension * dimension >>> (device_array_of_states, dimension, num_states, device_fitness_return);
Run Code Online (Sandbox Code Playgroud)
然后kernel.cu我有:
__global__ void fitness(
int *numbers,
int dimension,
int num_states,
int *fitness_return) {
__shared__ int fitness[16]; <<-- needs to be dimension * dimension
//code
}
Run Code Online (Sandbox Code Playgroud)
numbers是表示 1024 个矩阵的数组,dimension是行和列长度,num_states是 1024,fitness_return是长度为 1024 的数组,用于保存每个矩阵的适应度值。在内核中,共享内存是用 …
我是Python新手,我正在将程序从VBA Excel重写为Python。
我需要准确的计算,但无法找出合适的方法。
例子:
aa = 0.000016
bb = 0.000016
cc = aa*bb # which gives 2.5599999999999996e-12
a = decimal.Decimal('0.0000016')
b = decimal.Decimal('0.0000016')
c = a*b # which gives 2.56E-12
Run Code Online (Sandbox Code Playgroud)
但当我这样做时:
ccc= aa*b
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误
我需要一种方法来对所有 Decimal('') 数字执行数学运算或使浮点数字更准确(没有额外的十进制数字(0.0016 而不是 0.0015999996))
是否可以使用 es6 语法在同一行声明和分配多个变量?只是这里的例子,假设我需要给值“50” mX,mY,mXDZ,mYDZ。我该如何执行此操作?
let [mX,mY,mXDZ,mYDZ] = 50;
let mX,mY,mXDZ,mYDZ = 50; // !just why not!
Run Code Online (Sandbox Code Playgroud)
我主要是在寻找可读性。
我有一个情况:
procedure Compile();
begin
//stuff
CompileBatch();
end;
procedure CompileBatch();
begin
//stuff
end;
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用,因为在 Compile 中还没有找到标识符“CompileBatch”。是否有任何解决方法,或者我是否必须在 Compile 中重写所有 CompileBatch 代码?我正在使用 Free Pascal。
最近,我在组件中遇到了以下属性声明TDBNavigator:
property Enabled;
[Default(False)] <--------------------
property Flat: Boolean read FFlat write SetFlat default False;
Run Code Online (Sandbox Code Playgroud)
该指令[Default(False)]是什么意思?它的主要目的是什么?
我编写了一个Fraction类来处理Fraction对象和重载等,我需要将实现与方法的定义分开,但是当涉及到类的构造函数时,我收到了重新定义错误Fraction。
来自Fraction.h 的代码片段
class Fraction
{
private:
int calcGCD(int n1, int n2) const;
int compare(const Fraction& fraction) const;
int m_numerator;
int m_denominator;
public:
Fraction(int numerator = 0, int denominator = 1) : m_numerator(numerator), m_denominator(denominator);
Fraction(const Fraction& fraction) : m_numerator(fraction.numerator()), m_denominator(fraction.denominator());
Fraction(const Fraction& orig);
};
Run Code Online (Sandbox Code Playgroud)
来自Fraction.cpp 的代码片段
#include "Fraction.h"
Fraction::Fraction(int numerator, int denominator)
: m_numerator(numerator), m_denominator(denominator)
{}
Fraction::Fraction(const Fraction& fraction)
: m_numerator(fraction.numerator()), m_denominator(fraction.denominator())
{}
Run Code Online (Sandbox Code Playgroud)
这导致以下错误:
Fraction.h:26:5: error: 'Fraction::Fraction(const Fraction&)' cannot be …Run Code Online (Sandbox Code Playgroud) 为什么我可以在 for 循环的每次迭代中在 for 循环 [for (auto val: k0L){...}] 中声明和定义 3 个变量?当我执行 g++ code.cpp 时,编译器不会抱怨。我知道一个变量只能声明一次。我知道我不能写 int a = 5; int a = 6; 在 main() 范围内。但是,这就是我在 for 循环中所做的。谢谢!
#include <iostream>
#include <vector>
#include <fstream>
#include <math.h>
#include <algorithm>
#define PI 3.14159265
std::vector<double> linspace (double start, double end, size_t points) { // will be used in main(), details of this function are not important.
std::vector<double> res(points);
double step = (end - start) / (points - 1);
size_t i = 0;
for …Run Code Online (Sandbox Code Playgroud) 最近开始研究指针,想知道为什么char *n = “hii”; char *p = &n;会显示error
#指向地址#
#include<stdio.h>
#include<string.h>
#include<cs50.h>
int main(void)
{
char *n = "hii";
/*why the below line is showing the error as it has no impact on the result, below the pointer p is pointing to address of n*/
char *p = &n;
printf("%i\n", &n);
}
Run Code Online (Sandbox Code Playgroud) declaration ×10
c++ ×3
variables ×3
c ×1
c++11 ×1
class ×1
components ×1
constants ×1
constructor ×1
cuda ×1
cursor ×1
decimal ×1
delphi ×1
ecmascript-6 ×1
for-loop ×1
freepascal ×1
function ×1
if-statement ×1
javascript ×1
lazarus ×1
oracle ×1
pascal ×1
pointers ×1
procedure ×1
properties ×1
python ×1
sql ×1
stdvector ×1
vba ×1
while-loop ×1