问题标签 [smalldatetime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 当我不需要存储秒数时,有什么理由不使用 SMALLDATETIME?
使用 SQL Server 2014:
我正在处理一些大型日志表,其中一列是CreateDate
datatype DateTime
。
有一些基于CreateDate
列的索引。所有表都已包含大量行数。
问题 #1:是否有充分的理由不将所有CreateDate
列转换为SMALLDATETIME
类型?
问题 #2:是否有任何安全的 alter table table 语句可以将现有DATETIME
数据转换为SMALLDATETIME
没有任何错误?
问题 #3:当我使用ALTER TABLE
时,基于 的现有索引会发生什么CreateDate
?
sql - SQL Server 2014 以秒为单位插入/更新 smalldatetime 值
我对 SQL Server 中的 smalldatetime 数据类型有一个奇怪的问题。
我有一张非常基本的桌子
当我运行以下
我看到的值为2016-12-29 21:30:00
然后当我运行以下
我看到的值为2016-12-29 21:31:00
它不包括秒数。为什么是这样?
sql-server - SQL Server smalldatetime 与 datetime2
我已经阅读了几篇关于在 SQL Server 中使用支持日期的数据类型的文章,但我仍然不确定要使用哪种数据。
所有人都说要使用新的强大的datetime2
类型,但smalldatetime
在内存方面仍然更方便(6字节对4字节)
这是我的范围:
以这种方式定义的表:
然后我有这些要求:
对于Date
专栏,我需要精确到分钟。
在这张表中,我每天将存储多达100 万条记录,如此大的数据。
我的问题是:我必须使用smalldatetype
每天为我节省 2 mb 的旧版本吗?
或者
我应该使用新的强大的datetime2
数据类型吗?
谢谢
sql-server - 修改 XML - SMALLDATETIME
您好我正在 SQL 服务器中使用 XML 并尝试对 SMALLDATETIME 变量使用修改函数,但它没有给我想要的结果。
输出是。末尾附加了额外的“.000”。我怎样才能摆脱它们。
我希望上面的输出如下所示,因为这是我运行以下查询时返回的内容
[StartDate] 和 [EndDate] 的数据类型为“SMALLDATETIME”
我希望 XML 修改函数在没有 .000 的情况下返回相同的结果。
请建议。提前感谢饶
java - JDBC 编码到 sql server smalldatetime
我正在尝试执行一个存储过程,其中一个参数是 type smalldatetime
。在过去,我总是将字段编码为字符串datetime2
,datetime
效果很好。我正在使用Microsoft JDBC 驱动程序
尝试对 smalldatetime 参数使用字符串/nvarchar 时出现此错误。
查看它建议使用该类的微软文档。java.sql.Timestamp
将我的 java 代码更改为Timestamp.valueOf(LocalDate.of(2099, 1, 1).atStartOfDay())
我得到类似的错误。
任何帮助表示赞赏。
mysql - 将时间戳 (int) 转换为 smalldatetime (t-sql)
我有一个MySQL -Database 有几行。在那种环境中,我将当前时间存储为时间戳 ( int
)。
现在我需要将我的数据从 MySQL 迁移到 T-SQL 数据库。我正在运行SQL-Server 2008。
我检查了几种方法,但无法想出将我的 int 转换为smalldatetime格式的方法。
是否有内置功能?这甚至可以单独在一个声明中实现吗?我真的不想写一个 PHP 片段,它将时间戳转换为所需的格式。
提前致谢
sql-server - 如何插入小日期时间
我是 sql server 的新手,因为这是我客户的要求。由于出现有关 smalldatatime 的错误,我无法插入。我的查询有什么问题?我已经尝试了一切,但仍然给我错误。
以下是我尝试过的事情:
我得到的错误:
消息 102,级别 15,状态 1,第 5 行“06”附近的语法不正确。
我得到的错误:
消息 206,级别 16,状态 2,行 2 操作数类型冲突:int 与日期不兼容
我得到的错误:
消息 102,级别 15,状态 1,第 5 行 'T06:' 附近的语法不正确
sql-server - smalldatetime 的 MSSQL PreparedStatement 返回错误结果
我的 mssql 数据库中有一个表,其中一列是 smalldatetime 数据类型。
smalldatetime 数据类型没有秒精度。根据其文档:
ss 是两位数,范围从 00 到 59,表示秒。小于等于 29.998 秒的值向下舍入到最接近的分钟,大于等于 29.999 秒的值向上舍入到最接近的分钟。”
我有一个包含列 description(varchar) 和 startTime(smalldatetime) 的表 em_test。
如果我运行 query : select * from em_test where startTime between '2018-08-02 00:00:00' and '2018-08-02 11:59:59'
,将获得以下结果:
使用准备好的语句的相同查询返回不同的结果。
我调试了 mssql-jdbc-6.4.0-jre7.jar 源代码,以了解为什么普通 sql 查询和 sql 准备语句返回的结果不同。下面是分析:
- 每当必须执行准备好的语句时,都会在内部创建一个运行时存储过程来包装查询。查询输入参数变为存储过程输入参数。
- 在形成准备好的语句时,我们将 smalldatetime 值设置为时间戳为 ps.setTimeStamp('2018-08-01 23:59:59')。
- 在形成运行时存储过程时,确定输入参数数据类型。TimeStamp映射到 mssql datetime2。
- 因此,在 datetime2 的情况下,args
'2018-08-02 00:00:00' and '2018-08-02 11:59:59'
不会四舍五入,并且不会返回最后两个结果。 - 尝试用很少的日志模拟运行时过程: /li>
执行exec smalldatetimetest '2018-08-02 00:00:00','2018-08-02 23:59:59'
打印以下日志:
我的理解是否正确,是否有任何解决方法来解决准备好的声明中的差异?
sql - 在保留时间的 SQL 存储过程中将 datetime 转换为 smalldatetime?
我有一个存储过程,它从数据库中获取数据,该数据库使用 datetime 类型的列(其中有一个有效的时间值),它更新了另一个恰好使用 smalldatetime 类型的数据库中的表。当尝试从 datetime 类型转换为 smalldatetime 类型时,我丢失了日期的时间部分。出于某种奇怪的原因,这个日期在我身上被四舍五入了。是否有某种特殊的从 datetime 到 smalldatetime 的转换语句可以保留该日期值的时间部分?