我知道可以将毫秒级的Unix时间戳转换为我可以使用的SQL时间戳
SELECT TO_DATE('1970-01-01','YYYY-MM-DD HH24:MI:SS') +
(:timestamp / (1000*60*60*24)) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
但是我需要一个时间戳,所以我尝试了
SELECT TO_TIMESTAMP('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SSFF3') +
(:timestamp) from DUAL
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
错误:ORA-01841 :(完整)年份必须在-4713和+9999之间,并且不能为0
似乎将1加到时间戳总是将其转换为一天。
我该如何做才能获得实时时间戳?
我正在尝试通过Batik从SVG文档中找到一些元素。
这是我正在使用的示例SVG文档:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.0"
width="400"
height="300"
viewBox="0 -100 400 300"
preserveAspectRatio="none"
id="svg2">
<g id="blubb">
<line x1="0" y1="0" x2="40" y2="120" stroke="red" stroke-width="3"/>
<text class="hurz" x="50" y="150">HURZ!</text>
</g>
</svg>
Run Code Online (Sandbox Code Playgroud)
我试图找到所有text带有class属性的元素hurz。
这是一个示例代码:
import java.awt.*;
import java.io.*;
import javax.swing.*;
import org.apache.batik.swing.*;
import org.apache.batik.swing.gvt.*;
import org.w3c.dom.*;
import org.w3c.dom.svg.*;
import org.w3c.dom.xpath.*;
public class XPathTest extends JFrame {
private final JSVGCanvas c= new JSVGCanvas();
public XPathTest(){
this.setLayout(new GridLayout());
this.add(c);
c.setURI(new File("/tmp/bla.svg").toURI().toString());
c.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
@Override
public void …Run Code Online (Sandbox Code Playgroud) 我有一个使用JPA的应用程序(使用eclipselink).该应用程序是在后台使用Derby数据库开发的.这些表格由JPA自己生成.这是其中一个实体的简单示例:
public class MyEntity implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(nullable=false)
private String someString;
}
Run Code Online (Sandbox Code Playgroud)
JPA然后创建另一个表SEQUENCE来生成ID.我们现在想切换到PostgreSQL而不是表,SEQUENCE我们想在PostgreSQL中使用真实的序列.这是我们用来创建表的DDL:
CREATE TABLE MYENTITY (
ID serial PRIMARY KEY NOT NULL,
SOMESTRING varchar(255) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
但是JPA仍然希望使用该SEQUENCE表(不存在):
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse. persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: relation "sequence" does not exist
Position: 8
Error Code: 0
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
bind => [2 parameters …Run Code Online (Sandbox Code Playgroud) 我想压缩一些文件(和目录),但想创建一个额外的目录,这些文件应该驻留在其中。
例如对于以下目录结构:
myproject
+ file1
+ file2
+ subdir1
+ file3
Run Code Online (Sandbox Code Playgroud)
我 cd 进入myproject目录并想要创建 tar 存档
tar czf myproject.tgz --place-into-dir myproject-1.0 file2 subdir1
Run Code Online (Sandbox Code Playgroud)
接收包含以下内容的 tar 存档:
myproject-1.0
+ file2
+ subdir1
+ file3
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个选项,比如我上面虚构的“--place-into-dir”。因此,不应将文件直接放入存档中,而应放入仅在 tar 存档中创建的附加目录中。
我想避免首先创建该目录,将所有文件复制到该目录,然后再次删除它们,只是为了创建 tar 存档。
假设以下实体:
@Entity
public class MyEntity {
@Id
private Long id;
private File path;
private String someString;
}
Run Code Online (Sandbox Code Playgroud)
我想映射到这样的表:
CREATE TABLE (id BIGINT, path VARCHAR, somestring VARCHAR);
Run Code Online (Sandbox Code Playgroud)
问题在于从java.io.File(或java.nio.file.Path)到表示文件路径的简单字符串的映射。JPA可以进行这种映射吗?
当然,我可以定义path为字符串,然后让客户端创建Fileor Path对象。但是,直接在实体中提供这些对象要方便得多。
是否有一个键击来用另一个字符(例如空格)替换一个区域(一系列字符,无论如何)?我不是在搜索c,因为它会删除现有的字符并让我输入新的字符,这可能是更少或更多的字符.我想用另一个char替换已删除的字符R.
例如我有这个:
one two three four
Run Code Online (Sandbox Code Playgroud)
并希望将其替换为:
one two ----- four
Run Code Online (Sandbox Code Playgroud)
如果光标位于开头three,我想输入一个击键,一个区域(例如w单词结尾)和替换字符(在本例中-),让vim替换该区域中的所有字符给定的替换字符.
Spark 2.x 用于 Java 11 时出现以下错误
线程“main”中的异常 java.lang.IllegalArgumentException:不支持的类文件主要版本 55
Spark 3.0 是否与 Java 11 具有这种兼容性?
是否有其他解决方法可以将 Java 11 与 Spark 一起使用?
在Vim中,可以使用I命令一次插入多行文本,如答案Stack Overflow问题如何在vi/Vim中的多行选择开头插入文本?.但是,这仅适用于实际插入.如果我想同时删除一些字符,这不起作用.
例如,我想改变
000 one
000 two
000 three
000 four
Run Code Online (Sandbox Code Playgroud)
至
111 one
111 two
111 three
000 four
Run Code Online (Sandbox Code Playgroud)
我会这样做,通过调用^V3ggllx从前三行删除000然后^V3ggI111^[将111插入相同的位置,这对我来说似乎很尴尬.(上面的意思是,进入可视块状模式,在前三行中标记所有零并删除它们.然后再次进入可视块状模式,标记前三行的开始,进入多行插入模式,插入111并退出Esc.)
必须有更好的方法来做到这一点.最烦人的事情是我必须在删除零后再次选择该区域.如果在删除后仍然选择了该区域,那就没问题了.此外,如果可以在多个插入模式下删除字符,也可以.但是如果我试试这个,只会改变第一行.
java ×3
jpa ×2
vim ×2
apache-spark ×1
bash ×1
batik ×1
block ×1
eclipselink ×1
insert ×1
java-11 ×1
linux ×1
mapping ×1
milliseconds ×1
oracle ×1
postgresql ×1
region ×1
replace ×1
sequence ×1
sql ×1
sqldatatypes ×1
svg ×1
tar ×1
timestamp ×1
xpath ×1