小编Pat*_*rio的帖子

Oracle 中的异常处理

我正在尝试解析以字符串形式输入的年份(请不要让我开始 - 它就是这样)。但是,输入的年份无法由TO_NUMBER.

WITH src AS (
        SELECT '2000' AS y FROM DUAL
  UNION SELECT '1991' AS y FROM DUAL
  UNION SELECT '20--' AS y FROM DUAL
  UNION SELECT '09' AS y FROM DUAL
  UNION SELECT '11' AS y FROM DUAL
  UNION SELECT '95' AS y FROM DUAL
)

BEGIN
  SELECT
    s.y,
    TO_NUMBER(s.y) AS p
  FROM src s
EXCEPTION
  WHEN INVALID_NUMBER THEN NULL
END
Run Code Online (Sandbox Code Playgroud)

我从未在 Oracle 中进行过异常处理,如果这是一个基本问题,我深表歉意。

在上面运行我的查询时,我得到ORA-00928: missing SELECT keyword然后它突出显示了BEGIN关键字。通过四处搜索,我看到人们所做的就是使用BEGIN …

sql oracle exception-handling exception parseint

5
推荐指数
1
解决办法
263
查看次数

PHP array_map trim +参数

我正在使用array_map修剪我的所有数组值,但我需要传递第三个参数,因为我需要的不仅仅是修剪空格,所以我传递了第三个参数.基本上我想修剪空格,单引号和双引号的所有数组值.

我有一个实用程序类,我在其中创建了该函数,它看起来像这样:

public function convertToArray($string, $trim = false) {
    $split = explode(",", $string);

    if($trim) {
        $split = array_map("trim", $split, array(" '\""));
    }

    return $split;
}
Run Code Online (Sandbox Code Playgroud)

不知怎的,我不能做这个工作.即使我按照这里的答案,我仍然可以在结果中看到双引号.

我甚至试过了

if($trim) {
    $split = array_map("trim", $split);
    $split = array_map("trim", $split, array("'"));
    $split = array_map("trim", $split, array('"'));
}
Run Code Online (Sandbox Code Playgroud)

但我仍然得到相同的结果.

php arrays trim array-map double-quotes

4
推荐指数
1
解决办法
4139
查看次数

PHP oci_execute 用于多条语句

我试图在一次oci_execute()PHP 调用中发出多个 INSERT 语句。问题是我收到此错误:

ORA-00911: invalid character
Run Code Online (Sandbox Code Playgroud)

我猜这是;在每个语句之后。

所以现在,我的问题是我如何制作多个可以在其中工作的 INSERT 语句oci_execute()

到目前为止,这是我的查询:

INSERT INTO tbl (id, name) VALUES(1, 'John');
INSERT INTO tbl (id, name) VALUES(2, 'Martha');
INSERT INTO tbl (id, name) VALUES(3, 'Richard')
Run Code Online (Sandbox Code Playgroud)

编辑

请注意,;我的查询末尾没有,因为我使用的是 SQL 语句。

php sql oracle oracle-call-interface sql-insert

3
推荐指数
1
解决办法
3209
查看次数

列表中的SQL随机字符串

我想从一个字符串列表中进行选择,并将其指定为我的其中一列的值SELECT.

类似于以下内容:

SELECT id, name, GET_RANDOM_TYPE('Basic', 'Silver', 'Gold', 'Premium') AS type
FROM tbl
Run Code Online (Sandbox Code Playgroud)

我只是做了一些测试,因此我需要这个.

sql oracle random

3
推荐指数
1
解决办法
6201
查看次数

Oracle - 仅返回最早日期或未来日期

假设我有一个"机会"表(机会可以有多个截止日期),如下所示:

机会

id    opp_id    deadline
---------------------------
1     40        20-Jan-2016
2     40        13-Jan-2016
3     40        20-Apr-2016
4     40        13-Apr-2016
5     73        29-Sep-2015
6     95        11-Dec-2016
Run Code Online (Sandbox Code Playgroud)

我们假设今天的日期是15-Jan-2016,应该返回的是:

id    opp_id    deadline
---------------------------
6     95        11-Dec-2016
Run Code Online (Sandbox Code Playgroud)

但如果我们假设今天的日期是16-Dec-2015,那么我希望收到的行是:

id    opp_id    deadline
---------------------------
1     40        20-Jan-2016
2     40        13-Jan-2016
3     40        20-Apr-2016
4     40        13-Apr-2016
6     95        11-Dec-2016
Run Code Online (Sandbox Code Playgroud)

基本上,逻辑是在今天或未来的所有截止日期中获得这些机会.这些是我仍然可以申请的机会,因为我仍然可以在截止日期前完成.

我该怎么做呢?

编辑

我想我也应该澄清一点,如果机会的最后期限已经过去了,我不希望得到这个特定机会的剩余截止日期.基本上如果最早的截止日期已经过去,我不想为这个机会找回任何东西.

sql oracle date

2
推荐指数
1
解决办法
75
查看次数

PHP 阻止 strip_tags 删除损坏的标签

我和这个人有同样的情况。

基本上strip_tags删除标签,包括损坏的标签(文档中使用的术语)。<如果它不是 HTML 标记,是否有另一种方法不涉及删除和后面的任何文本?

我目前正在这样做:

$description = "&lt;p&gt;I am currently &lt;30 years old.&lt;/p&gt;";
$body = strip_tags(html_entity_decode($description, ENT_QUOTES, "UTF-8"), "<strong><em><u>");
echo $body;
Run Code Online (Sandbox Code Playgroud)

但是上面的代码会破坏类似的东西:

<p>I am currently <30 years old.</p>
Run Code Online (Sandbox Code Playgroud)

进入:

I am currently
Run Code Online (Sandbox Code Playgroud)

评估输入

这是一个eval.in,所以你们可以明白我的意思。

html php strip-tags

2
推荐指数
1
解决办法
1596
查看次数

将负颜色数转换为 HEX 或 RGB

我从来没有见过的颜色代码喜欢-1-16777216-256等,所以我现在的问题是这样的:

我们有一个第三方软件,您可以在其中对值进行颜色编码,如下图所示。

软件

现在我正在创建一个显示这些值的 PHP 报告,但我也想使用与软件中定义的颜色相同的颜色来显示它们。我能够从数据库中找到值,但我很困惑,因为这些值的格式或表示法我不熟悉。

数据库

你能帮我在 Oracle 或 PHP 中将这些值转换为 HEX 或 RGB,这是我习惯的(我将它用于报告的 CSS)。

编辑

查看数据库和软件中的颜色,我至少可以像这样匹配数字:

-1 = 白色

-12582784 = 紫色

-65408 = 粉红色

-16777216 = 黑色

-256 = 黄色

附加编辑

所以看起来 16777216 是一个完美的立方数。它的立方根是 256(在 RGB 上,每种原色都可以用 0-255 之间的数字表示)。到目前为止,这是我能想到的唯一关系。我仍然不知道如何将其转换为 HEX 或 RGB。


我做了一些研究,虽然不是很有成效。但我会把它包括在内,所以我看起来不像我没有尝试过——如果你对它不感兴趣,那就忽略它:

16777216 - 我从搜索实际代码开始,-16777216但没有返回任何内容,所以我删除了负号。

关于 16777216 的事实- 该页面显示了一些公式,但我没有看到任何转换为​​ HEX 或 RGB 的公式。

css php sql oracle colors

2
推荐指数
1
解决办法
3007
查看次数

GitLab Runner 在重新启动后不会自动获取作业

所以我们的 GitLab Runner 已经运行了几个星期了。我不得不进行一些升级,需要在安装它的机器上重新启动。

重新启动后,它不再自动获取作业。我所有的管道都说它们被卡住了,因为没有跑步者可以接手工作。

我 SSH 进入机器并运行

sudo gitlab-runner run
Run Code Online (Sandbox Code Playgroud)

并且工作会按照我的预期进行。但是,当我按CTRL+ 时,C它会停止任何已接的工作并再次停止接任何其他工作。如何解决此问题,使其恢复到重新启动前的状态?

附加信息

当我跑

sudo gitlab-runner start
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息: FATAL: Failed to start gitlab-runner: "systemctl" failed: exit status 5, Failed to start gitlab-runner.service: Unit gitlab-runner.service not found.

我跑的时候也弹出类似的错误

sudo gitlab-runner restart
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci-runner gitlab-omnibus

2
推荐指数
1
解决办法
7534
查看次数

按钮数组的Click事件

我在C#WFA中有一个Button数组,我想为单击数组中的任何按钮创建一个事件。我该怎么做?以及如何知道它在数组中的哪个位置?我知道发件人是按钮本身

c# windows button winforms

1
推荐指数
1
解决办法
9792
查看次数

Java for循环不迭代,在一次迭代后停止方法而不是重复

我正在完成一项家庭作业,我必须填写一个阵列并检查其中是否有四个连续的数字在上下,从一侧到另一侧或对角线.我认为我有逻辑,但我的for循环在第一次迭代停止,而不是搜索数组.任何帮助表示赞赏.

public static boolean isConsecutiveFour(int[][] values) {
    int One = 0;

    for (int i = 0; i < values[0].length; i++) {
        for (int j = 0; j < values.length; j++) {
            One = values[i][j];
            //System.out.println(One);
            // up and down
            if (values[i + 1][j] == One) {
                if (values[i + 2][j] == One) {
                    if (values[i + 3][j] == One) {
                        return true;
                    }
                }
            }
            // left to right
            if (values[i][j + 1] == One) {
                if (values[i][j + 2] …
Run Code Online (Sandbox Code Playgroud)

java for-loop

1
推荐指数
1
解决办法
138
查看次数

SQL如果有值,则按列排序

我有下表:

对象(o)

id    name              date_completed
----------------------------------------
1     Computer          2016-02-26
2     Desk              NULL
3     Curtain           2016-02-25
Run Code Online (Sandbox Code Playgroud)

我试图使用这个查询:

SELECT * FROM objects ORDER BY date_completed NULLS FIRST, name
Run Code Online (Sandbox Code Playgroud)

正如预期的那样我得到了这个结果:

id    name              date_completed
----------------------------------------
2     Desk              NULL
3     Curtain           2016-02-25
1     Computer          2016-02-26
Run Code Online (Sandbox Code Playgroud)

我想要的结果进行排序,使得它不实际日期命令他们,而是把那些用NULLdate_completed顶部和顺序由他们的名字.然后将值放在date_completed底部的值并按名称排序.

基本上这就是我想要的:

id    name              date_completed
----------------------------------------
2     Desk              NULL
1     Computer          2016-02-26
3     Curtain           2016-02-25
Run Code Online (Sandbox Code Playgroud)

sql oracle sql-order-by

0
推荐指数
1
解决办法
119
查看次数

打印 Bootstrap 网页被切断

我有一个用 Bootstrap 制作的动态页面,我需要能够打印这个动态页面。

我正在使用媒体查询来设置页面样式,如下所示:

/** Custom Print Styles **/
@media print {
    header,
    .menu,
    footer {
        display: none;
    }

    ...
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

我测试了打印,不知何故我遇到了问题,如果我有多个页面,如果最后一页只包含几行,则不会打印。当我向第一页添加一些随机文本以向整个文档添加一些行时,问题就消失了,这意味着在最后一页中将有更多行打印。

这是我的打印脚本:

$("body").on("click", ".btn-print", function() {
    window.print();
});
Run Code Online (Sandbox Code Playgroud)

我也尝试使用Ctrl+打印文档,P但存在同样的问题。

html css jquery twitter-bootstrap

0
推荐指数
1
解决办法
2140
查看次数

FIbonacci系列使用递归错误?

public class Fibonacci2 {

static int fib(int n) {
  if(n==1 || n==2) {
    return(1);
  }
  return fib((n-1)+fib(n-2));
}

// Stackoverflow error //
public static void main(String[] args) { 
  int i, n = 7;
  for(i=1; i<=n; i++)
    System.out.println("FIbonaci series" + fib(i));
  }
}
Run Code Online (Sandbox Code Playgroud)

这个程序遇到运行时异常(stackoverflow)请告诉如何处理它.

java

-1
推荐指数
1
解决办法
99
查看次数