小编Rus*_*ell的帖子

使用BETWEEN或<=,> =表示Oracle时间戳

我的Oracle表有一个tmstp包含TIMESTAMP(3) WITH TIME ZONE数据类型的列.

当我运行以下查询时

SELECT COUNT(column1) 
  FROM table1 
 WHERE tmstp BETWEEN to_timestamp_tz('10-OCT-10 05.00.00.000000000 AM -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR')
                 AND to_timestamp_tz('11-OCT-10 04.59.59.999999999 AM -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR');
Run Code Online (Sandbox Code Playgroud)

它提供的计数大约是以下查询的两倍:

SELECT COUNT(column1) 
  FROM table1 
 WHERE tmstp >= to_timestamp_tz('10-OCT-10 05.00.00.000000000 AM -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR') 
   AND tmstp <= to_timestamp_tz('11-OCT-10 04.59.59.999999999 AM  -05:00', 'DD-MON-RR HH.MI.SSXFF AM TZR');
Run Code Online (Sandbox Code Playgroud)

我认为他们应该给出相同的结果.关于可能发生什么的任何意见?我该怎么调试呢?

sql oracle oracle10g

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

是否有时候在C++中没有调用超类的构造函数?

这个问题让我接受采访.如果B是A的子类.在构造B时,是否有时候没有调用A的构造函数?

编辑:我告诉采访者我无法想到这种情况,因为我认为只有在构造子类之前才能正确构造超类才有意义.

c++ inheritance constructor

7
推荐指数
2
解决办法
361
查看次数

为什么将 32 位寄存器移动到堆栈然后从堆栈移动到 xmm 寄存器?

我正在gcc -m3264 位机器上编译。

以下有什么区别?请注意,这是 AT&T 语法。

# this
movd  %edx, %xmm0

# and this
movl  %edx, (%esp)
movd  (%esp), %xmm0
Run Code Online (Sandbox Code Playgroud)

x86 assembly sse micro-optimization att

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

检查空字符串时COALESCE vs IS NOT NULL性能

我在互联网上找到的一些文章比较了ISNULL和COALESCE,所以我认为我的问题有点不同.

我想知道哪个性能更好?

SELECT * FROM mytable WHERE mycolumn IS NOT NULL AND mycolumn <> '';
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM mytable WHERE COALESCE(mycolumn,'') <> '';
Run Code Online (Sandbox Code Playgroud)

除了表现,在决定时我还应该考虑其他问题吗?

编辑:

我正在使用Teradata.

sql teradata

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

是否有标准的API来检查Java中的行分隔符?

我正在使用Java SE 6.

我的程序读取几种文件,从dos到unix,从ascii到unicode,我必须确保输出文件的行分隔符与输入文件匹配.

我这样做的方法是使用BufferedReader read()函数读取一个示例行,以搜索第一行分隔符并将该行分隔符保存到String.这样,只要我需要一个新行,它就可以在以后使用.

我已经检查过Scanner类,并注意到可能的行分隔符可能包括以下内容:

\r\n
\r
\n
\u2028
\u2029
\u0085
Run Code Online (Sandbox Code Playgroud)

是否有库函数来检查这些字符?或者甚至更好,是否已经有一个库函数来检查输入的行分隔符是什么样的?

还有其他方法吗?

编辑:如果可能,我想使用Java的标准API而不是第三方库,但所有建议都是最受欢迎的.

编辑:只是为了澄清.
1)输入文件不依赖于该程序的运行位置.例如,如果我在Dos中运行此程序,我仍然可以获得Unix输入文件.
2)我的目标不是读取用行分隔符分隔的每一行 - 这很简单.我真正需要的是使用与输入文件相同的行分隔符编写输出文件.例如,如果我在Dos中运行此程序,并且我获得了Unix输入文件,我希望能够使用Unix行分隔符编写输出文件.这就是为什么我要问是否有一个标准API来检测基于输入文件的行分隔符,而不是运行操作系统.

谢谢.

java

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

fmap如何与数据构造函数一起使用?

我想了解一些haskell代码.

这是有道理的.

Prelude> fmap (+1) (Just 1)
Just 2
Run Code Online (Sandbox Code Playgroud)

这也是有道理的.

Prelude> (fmap.fmap) (+1) (Just [1])
Just [2]
Run Code Online (Sandbox Code Playgroud)

但我不明白这是如何工作的.

Prelude> (fmap.fmap) (+1) Just 1
Just 2
Run Code Online (Sandbox Code Playgroud)

我已经尝试过制作零件了.在我看来,这就是正在发生的事情.

(fmap (fmap (+1)) Just) 1
Run Code Online (Sandbox Code Playgroud)

我尝试输入子表达式.

这是有道理的.

Prelude> :t fmap (+1)
fmap (+1) :: (Functor f, Num b) => f b -> f b
Run Code Online (Sandbox Code Playgroud)

这仍然有意义.

Prelude> :t fmap (fmap (+1))
fmap (fmap (+1)) :: (Functor f, Functor f1, Num b) =>
    f (f1 b) -> f (f1 b)
Run Code Online (Sandbox Code Playgroud)

但我不明白这一点.

Prelude> :t fmap (fmap (+1)) …
Run Code Online (Sandbox Code Playgroud)

haskell functor

6
推荐指数
2
解决办法
171
查看次数

是否可以根据输入文件创建 Java 枚举?

我正在使用 Java 6。

假设我有一个文件 availableFruits.txt

APPLE
ORANGE
BANANA
Run Code Online (Sandbox Code Playgroud)

假设我想要一个FruitType包含 中列出的值的枚举,availableFruits.txt我能做到这一点吗?

java enums

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

Java switch case - default vs explicit enumeration

我正在使用Java 6.

假设我有一个包含6个值的枚举,从A到F排序.大约有4个值处理相同.我可以这样写.

switch (whichType) {
    case A:
    case B:
    case C:
    case D:
        return task();
    case E:
        return someothertask();
    case F:
        return anothersomeothertask();
}
Run Code Online (Sandbox Code Playgroud)

或者像这样.

switch (whichType) {
    case E:
        return someothertask();
    case F:
        return anothersomeothertask();
    default:
        return task();
}
Run Code Online (Sandbox Code Playgroud)

空值永远不会到达此开关.

在简洁和清晰方面,第二种方法更好.在明确方面,我认为第一种方法更好.

每种方法都有其他优点/缺点吗?

此外,这个简单的问题可能会重复,但我尝试过,但在任何地方都找不到它.如果我没有足够好地搜索它,我道歉.

java switch-statement

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

createTempFile是线程安全的吗?

我正在使用Java 6.

调用createTempFile(类java.io.File)的两个线程是否可能获得相同的临时文件?

java file-io thread-safety temporary-files

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

如何从Java中的100个线程一次运行10个线程?

我正在使用Java 6.

假设我创建了100个线程,每个线程完成一项任务.我想连续一次运行10个线程.这意味着如果我正在运行线程1-10,并且线程8完成,我希望能够立即启动线程11,而无需等待1-10加入.

我怎样才能做到这一点?

解决这个问题的一种方法可能是使用isAlive()方法,但我想知道如果没有轮询我是否可以这样做.

谢谢.

java multithreading

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