标签: db2

T-Sql中的时间戳在C#中意味着什么?

我正在尝试开发一个模型对象来保存一个Sql Server行,我完全理解除了T-Sql/SqlServer时间戳之外如何做到这一点.该表定义为:

CREATE TABLE activity (
activity_id int
, ip_address varchar(39)
, user_id varchar(255)
, message_text
, dt timestamp
)
Run Code Online (Sandbox Code Playgroud)

当我将表行解析为我的对象时,对于int或字符串,我希望做类似的事情:

ActivityID = (int)dataReader["activity_id"];
IPAddress = (string)dataReader["ip_address"];
Run Code Online (Sandbox Code Playgroud)

但是我该如何处理时间戳列?我可以在任何地方找到没有"timestamp"数据类型.我知道Sql Server将时间戳存储为8字节的二进制文件,但这通常与.NET中的相同?

编辑添加:一些额外的信息......这是从我们的大型机上的DB2表通过Sql Server视图返回的行."Rowversion"不是一个选项,DB2正在将列作为时间戳处理.如果timestamp和rowversion相同,也许我可以将它视为一个,但否则我会遇到时间戳.

再次编辑补充说:这个项目将让我疯狂.它至少会是一次短途旅行.无论如何,是的@JoelC这是一个Sql Server视图,进入大型机上的DB2数据库.我终于能够找到我们的一位DBA,他们轻蔑地解释说"当然"DB2 TIMESTAMP遇到了一个Sql Server视图作为日期时间.根据他的语调,我猜只有新手不知道这一点.这就是为什么他在实际视图中将其命名为"datetime",Duh!(我在我的示例中给它一个不同的名称,以便不触发对命名约定的评论 - 实际的数据模型图表示它是TIMESTAMP并将其命名为时间戳).所以,在这种情况下,显然必须将其转换为DateTime.我想我可能会开始考虑成为一名DBA,这样我也可以让程序员疯狂.对不起,如果我误导了这个问题的任何响应者 - 这是无意的,因为我实际上期待时间戳是一个时间戳.傻我.特别感谢Microsoft将字节数组数据类型命名为"时间戳",因为它与日期和时间无关.我没有最简单的想法,哪个回应标记为答案.叹.

c# t-sql sql-server db2

15
推荐指数
4
解决办法
3万
查看次数

有没有开源DB2客户端?

我使用db2版本7,我需要一个Windows应用程序(类似于MSSQL)来执行数据库操作.

db2

15
推荐指数
4
解决办法
6万
查看次数

DB2-如何检查varchar字段值是否有整数

是否有内置的DB2函数或任何查询来检查我的字符是否是数字?(我不能使用用户定义的函数)

sql db2

15
推荐指数
3
解决办法
6万
查看次数

如何使DB2的JDBC SQLExceptions更具描述性?

如何使DB2 JDBC驱动程序抛出的SQLExceptions更具描述性?

目前我得到了这种例外.使用这些神秘的SQLCODE和SQLSTATE数值非常麻烦.有没有办法让SQL异常包含代码描述.

Caused by: com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -302, 
     SQLSTATE: 22001, SQLERRMC: null
      at com.ibm.db2.jcc.b.hh.c(hh.java:1662)
      at com.ibm.db2.jcc.b.hh.a(hh.java:1238)
      at com.ibm.db2.jcc.c.db.n(db.java:737) 
      ....
Run Code Online (Sandbox Code Playgroud)

例如,SQLSTATE 22001有这样的描述:

字符数据,右截断发生; 例如,更新或插入值是对于列太长的字符串,或者无法将日期时间值分配给主变量,因为它太小.

编辑:我也使用Spring和Hibernate框架.

java db2 error-handling spring jdbc

14
推荐指数
3
解决办法
8335
查看次数

用Java连接DB2

我需要将DB2与Java连接.请帮助我在ECLIPSE中将DB2与java 连接起来 .如果你可以一步一步地指导我,那将是非常有帮助请让我知道如何在eclipse代码片段中添加classpath:

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;

public class connection {
    public static void main(String[] argv) {
        try {
            Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
        }
        catch (ClassNotFoundException e) {
            System.out.println("Please include Classpath  Where your DB2 Driver is located");
            e.printStackTrace();
            return;
        }
        System.out.println("DB2 driver is loaded successfully");
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rset=null;
        boolean found=false;
        try {
            conn = DriverManager.getConnection("jdbc:db2:sabarish","db2admin","Murugasaranam");
            if (conn != null)
            {
                System.out.println("DB2 Database Connected");
            }
            else
            { …
Run Code Online (Sandbox Code Playgroud)

java db2

14
推荐指数
4
解决办法
7万
查看次数

DB2日期格式

我只想将当前日期格式化为yyyymmddDB2.

我看到可用的日期格式,但我该如何使用它们?

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_datetimetimestamp.htm

SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;
Run Code Online (Sandbox Code Playgroud)

我没有看到使用上面列出的格式的任何简单方法.

有什么建议吗?

sql db2 date date-format

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

内部连接与笛卡尔积的性能

可能重复:
显式vs隐式SQL连接

我想知道性能的差异

select * from A,B,C where A.x = B.y and B.y = C.z
Run Code Online (Sandbox Code Playgroud)

select * from A INNER JOIN B on A.x = B.y INNER JOIN C on B.y = C.z
Run Code Online (Sandbox Code Playgroud)

基本上我想知道内部连接是否比笛卡尔积更好?另外,内部连接是在内部进行的笛卡尔积?

sql db2 join

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

DB2 SQL将十进制转换为带零的字符填充

如何将DB2 DECIMAL(11)从12345678转换为字符值00012345678

sql db2

14
推荐指数
4
解决办法
9万
查看次数

在DB2中获取行

我在DB2中知道(使用版本9.7)我可以使用此查询选择表的前10行:

SELECT * 
FROM myTable
ORDER BY id
FETCH FIRST 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能获得11到20行呢?我无法使用主键或ID来帮助我......

提前致谢!

db2 fetch

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

如何使用错误消息中指定的tbspaceid tableid查找DB2中的表和列

尝试在数据库中插入对象时,我收到以下错误消息:

com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: 
DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2,
    TABLEID=19, COLNO=0, DRIVER=4.15.134
Run Code Online (Sandbox Code Playgroud)

如何检索引发错误的表/列名称?

database db2 tablespace

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

标签 统计

db2 ×10

sql ×4

java ×2

c# ×1

database ×1

date ×1

date-format ×1

error-handling ×1

fetch ×1

jdbc ×1

join ×1

spring ×1

sql-server ×1

t-sql ×1

tablespace ×1