此处将为大家介绍关于在Oracle,PostgreSQL和SQLServer中比较时间戳的常用方法的详细内容,并且为您解答有关oraclesql时间比较的相关问题,此外,我们还将为您介绍关于$rela
此处将为大家介绍关于在Oracle,PostgreSQL和SQL Server中比较时间戳的常用方法的详细内容,并且为您解答有关oracle sql 时间比较的相关问题,此外,我们还将为您介绍关于$ relatedquery批处理插入仅适用于Postgresql和SQL Server、java连接数据库Oracle|DB2|Sql Server|Sybase|Informix|MySQL||PostgreSQL|access、Linux下通过JDBC连接Oracle,SqlServer和PostgreSQL、oracle、mysql和sql server中自增的使用方法的有用信息。
本文目录一览:- 在Oracle,PostgreSQL和SQL Server中比较时间戳的常用方法(oracle sql 时间比较)
- $ relatedquery批处理插入仅适用于Postgresql和SQL Server
- java连接数据库Oracle|DB2|Sql Server|Sybase|Informix|MySQL||PostgreSQL|access
- Linux下通过JDBC连接Oracle,SqlServer和PostgreSQL
- oracle、mysql和sql server中自增的使用方法
在Oracle,PostgreSQL和SQL Server中比较时间戳的常用方法(oracle sql 时间比较)
我正在编写一个SQL查询,其中涉及查找时间戳是否在特定的天数范围内。
我已经在PostgreSQL中编写了它,但是在Oracle和SQL Server中不起作用:
AND creation_date < (CURRENT_TIMESTAMP - interval '5 days')
AND creation_date >= (CURRENT_TIMESTAMP - interval '15 days')
有没有通用的方法可以比较不同数据库之间的时间戳?
$ relatedquery批处理插入仅适用于Postgresql和SQL Server
我猜出来了,
const promises: Promise<any>[] = [];
for (const tagId of <number[]>tagIds) {
promises.push(newRestaurant.$relatedQuery('tags',trx).relate(tagId));
}
await Promise.all(promises);
java连接数据库Oracle|DB2|Sql Server|Sybase|Informix|MySQL||PostgreSQL|access
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"; //myDB为数据库名
Connection conn= DriverManager.getConnection(url);
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");
Statement stmtNew=conn.createStatement() ;
try{
Class.forName(com.mysql.jdbc.Driver);
System.out.println(Success loading Mysql Driver!);
}catch(Exception e)
{
System.out.println(Error loading Mysql Driver!);
e.printStackTrace();
}
Linux下通过JDBC连接Oracle,SqlServer和PostgreSQL
今天正好需要统计三个网站栏目信息更新情况,而这三个网站的后台采用了不同的数据库管理系统。初步想法是通过建立一个小的Tomcat webapp,进而通过JDBC访问这三个后台数据库,并根据返回的数据生成报表。 1 开发环境 数据库管理系统:一个是SqlServer 2000,
今天正好需要统计三个网站栏目信息更新情况,而这三个网站的后台采用了不同的数据库管理系统。初步想法是通过建立一个小的tomcat webapp,进而通过jdbc访问这三个后台数据库,并根据返回的数据生成报表。
1 开发环境
- 数据库管理系统:一个是SqlServer 2000,另一个是Oracle 9i,再一个是PostgreSQL9.1
- Tomcat执行平台:CentOSx64 + JDK7.0x64 (全64位环境)
2 JDBC驱动的选择
2.1 Oracle9i
Oracle官方提供了ojdbc6.jar这个type 4 JDBC驱动,仅此一个文件就能完成对JDBC的支持,将其拷贝到WEB-INF/lib下。关键代码如下:
Class.forName("
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String dbUrl = "jdbc:oracle:thin:@IP地址:1521:实例名";
oracle对于兼容性做的非常好,这个版本的JDBC驱动对oracle9i依然支持良好。
2.2 SqlServer2000
微软官方也提供了SqlServer的type 4 JDBC驱动,具体说来有两个文件:sqljdbc4.jar, sqljdbc.jar,其中带4的是最新的版本可以运行于JDK7.0下,而不带4的版本不能运行于
JDK7下,问题是sqljdbc4.jar只支持SqlServer 2005以上的版本,不支持SqlServer 2000。也就是说要想通过微软提供的JDBC驱动操作SqlServer 2000,你的JDK版本一定要比JDK7低才行,可是我们的开发环境已经确定了是JDK7。
有此想到了两个解决思路:
一是使用JDBC-ODBC桥接,unixODBC是Linux平台上的ODBC实现,进而还需要安装SqlServer 2000的ODBC驱动,www.unixODBC.org给出了两个链接,一个不是免费开源的;另一个是基于freetds的ODBC驱动,不知为什么www.freetds.org网站打不开了。我以前用过freetds的命令行连接SqlServer还是不错的。ODBC的配置非常复杂,尤其是在Linux 环境下,特别不友好。懒惰的心理下,放弃了这种思路。
二是既然freetds可以操作SqlServer,为什么不越过ODBC,让JDBC直接基于tds呢,很幸运在网上找到了一个好的解决方案:jTDS,详见http://jtds.sourceforge.net。这个项目提供了基于TDS协议的JDBC实现,是一个纯的type 4 JDBC驱动,通过一个jtds-1.3.0.jar即可满足通过JDBC访问SqlServer2000的需要。而且可以运行于JDK7.0下,正好满足我的要求。
最终采取了第二种思路,关键代码如下:
Class.forName("net.sourceforge.jtds.jdbc.Driver");
DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
String dbUrl = "jdbc:jtds:sqlserver://IP地址:1433/数据库名";
2.3 PostgreSQL9.1
官网jdbc.potgresql.org提供postgresql-9.2-1000.jdbc4.jar,这也是一个type 4 JDBC驱动,下载即可使用。关键代码如下:
Class.forName("org.postgresql.Driver");
dbUrl = "jdbc:postgresql://IP地址:5432/数据库名";
这个驱动加载的时候自动注册,所以不需要再单独进行registerDriver了。
3 总结
通过这个小小的项目,总结一下目前常用的数据库的JDBC驱动选择:
(1)SQL Server 对于2005及以上版本,建议使用微软官方的type 4JDBC驱动;对于2000版本,如果JDK环境较老,可以使用微软官方版本,如果JDK7.0则使用jTDS这个type 4JDBC驱动;
(2)Oracle,对于所有版本推荐使用官方的thin驱动,也就是type4的JDBC驱动;
(3)PostgreSQL, MySql,官方提供了type 4的JDBC驱动,使用即可。
网络是个宝藏,但是要找到你真正需要的东西,就必须有完整的知识体系结构,必须有清晰的分析思路。
如果需要在.net框架下访问Sqlserver和Oracle,可以参考我的另一篇博客:http://blog.csdn.net/smstong/article/details/5874451
oracle、mysql和sql server中自增的使用方法
用于 SQL Server 的语法下面的 SQL 语句把 "Persons" 表中的 "ID" 列定义为 auto-increment 主键字段:
CREATE TABLE Persons
(
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
用于 MySQL 的语法
下面的 SQL 语句把 "Persons" 表中的 "ID" 列定义为 auto-increment 主键字段:
CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)
语法 for Oracle
在 Oracle 中,代码稍微复杂一点。
您必须通过 sequence 对象(该对象生成数字序列)创建 auto-increment 字段。
请使用下面的 CREATE SEQUENCE 语法:
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
上面的代码创建一个名为 seq_person 的 sequence 对象,它以 1 起始且以 1 递增。该对象缓存 10 个值以提高性能。cache 选项规定了为了提高访问速度要存储多少个序列值。
要在 "Persons" 表中插入新记录,我们必须使用 nextval 函数(该函数从 seq_person 序列中取回下一个值):
INSERT INTO Persons (ID,FirstName,LastName)
VALUES (seq_person.nextval,''Lars'',''Monsen'')
关于在Oracle,PostgreSQL和SQL Server中比较时间戳的常用方法和oracle sql 时间比较的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于$ relatedquery批处理插入仅适用于Postgresql和SQL Server、java连接数据库Oracle|DB2|Sql Server|Sybase|Informix|MySQL||PostgreSQL|access、Linux下通过JDBC连接Oracle,SqlServer和PostgreSQL、oracle、mysql和sql server中自增的使用方法的相关知识,请在本站寻找。
本文标签: