- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简单问题:
我有 2 个 Mysql 服务器,我在两个服务器中运行此查询:
select unix_timestamp('0000-00-00 00:00:00');
结果:
在服务器 1 上:
mysql> select unix_timestamp('0000-00-00 00:00:00');
+---------------------------------------+
| unix_timestamp('0000-00-00 00:00:00') |
+---------------------------------------+
| NULL |
+---------------------------------------+
在服务器 2 上:
mysql> select unix_timestamp('0000-00-00 00:00:00');
+---------------------------------------+
| unix_timestamp('0000-00-00 00:00:00') |
+---------------------------------------+
| 0 |
+---------------------------------------+
在这两种情况下我都需要 0。
为什么?有什么建议吗?
谢谢!
最佳答案
我假设您的两台服务器运行的 MySQL 版本不同。
当您将超出范围的时间戳传递给 UNIX_TIMESTAMP()
时,MySQL 返回 0
。
MariaDB(目前某些 Linux 发行版默认使用的 MySQL 分支)在相同情况下返回 NULL
。
如果时间戳在 1970-01-01 00:00:00 之前或 2038-01-19 03:14:08 之后,则该时间戳超出 UNIX 时间范围。这是因为它存储为 32 位无符号整数。 1970-01-01 00:00:00 是 0
并且由于它是未签名的,因此在此之前不能表达任何内容。在 2038-01-19 03:14:08 整数将达到其最大值,之后的任何值也不能表示为 UNIX 时间戳。 (一些系统上已经存在的解决方案是使用 64 位整数来代替,这给了我们几十万年的额外时间。)
请参阅 UNIX_TIMESTAMP()
的 MySQL 文档和 a MariaDB-related article about this problem .
关于mysql 奇怪的情况与 unix_timestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18137043/
使用 Spark 1.6.2 并尝试查找字段是否包含空字符串或日期值。 Spark documentation解释说,如果 unix_timestamp() 函数在失败时返回 null,那么预期会出现
我正在尝试运行此功能以获取Hive中的当前日期,但出现以下错误: Error while compiling statement: FAILED: SemanticException No valid
简单问题: 我有 2 个 Mysql 服务器,我在两个服务器中运行此查询: select unix_timestamp('0000-00-00 00:00:00'); 结果: 在服务器 1 上: my
来自reference : Convert time string with given pattern (‘yyyy-MM-dd HH:mm:ss’, by default) to Unix tim
除了从与帖子相关的评论中获取最大日期之外,我有一个查询运行良好。 所以我想做的是: 关系:1 个帖子到很多评论 使用 max() 获取 UNIX_TIMESTAMP() 中每个帖子的“最新评论日期”
当我想在查询中获取 UNIX_TIMESTAMP() 时,会发生以下情况: 代码: $this->db->where(array('is_active' => 1, 'time' => 'UNIX_T
我正在尝试从数据库中提取数据,并使用 UNIX_TIMESTAMP 按 DATE 组织数据,但它似乎无法正常工作。这只是我失败的尝试之一。我遇到的问题是我试图将表中的 Field 转换为 UnixTi
我有一个php函数使用mysql查询UNIX_TIMESTAMP()来创建唯一的事务号,但我发现如果该函数在同一时间循环,它将为情况1生成相同的事务号,使用情况2则不是大循环的好方法。 1.我使用交易
我正在对 mysql 数据库发出以下查询,但它没有按照我的预期工作:- SELECT UNIX_TIMESTAMP(exprTime) FROM config exprTime 的类型是日期时间。表包
我一直在数据库中使用 CURRENT_TIMESTAMP 作为条目,但现在希望更改为 unix 时间戳。 如此处所示,我有数据,但对于每一行,我想使用 UNIX_TIMESTAMP() 并将其返回的值
我已经全部查看过了,但似乎我所需的编码并没有在任何地方得到解决。请注意,“间隔”变量对我不起作用。请使用当前代码,该代码可以很好地显示当前周的所有日期。 下面的代码将本周的所有日期拆分出来,但如何调整
这会变成 NULL,为什么? select unix_timestamp(addtime(date(now()), time(from_unixtime(1426705199)))) 由于某种原因,它
我对分区主题还很陌生,并且由于数据的大量积累而出现了必要性。 嗯,基本上它是一个访问控制系统,目前有20个部门,每个部门大约有100个用户。系统记录了进入和退出的日期和时间(from_date/to_
我有一个表,其中有一列名为 date_time。它包含时间的 unix 编号。像这样: // mytable +----+------------+ | id | date_time | +----
大家好,我有一个关于 UNIX_TIMESTAMP() 的问题:当我用它来检查另一个 UNIX_TIMESTAMP() 时,我从来没有得到我期望的结果. 这里以一个小查询为例: SELECT UN
在我的网站上,我制作了一个自动发票系统。它将从特定月份为特定用户生成发票。您可以选择用户、月份和年份,然后单击生成。 但是,在我的 MYSQL 数据库中,我用 Unix 时间戳存储了用户订购的产品日期
我做了一个测试。这是一个 innodb 表: CREATE TABLE `test_UNIX_TIMESTAMP` ( `id` INT(11) NOT NULL AUTO_INCREMENT,
mysql 中的 UNIX_TIMESTAMP 函数有问题。 设置:我在我的本地 Windows 机器上做一个 wordpress 站点,并定期将我的更新上传到 ubuntu 服务器(page.ly)
在我的 php5 代码中,我想使用 UNIX_TIMESTAMP 函数将日期时间转换为 unix 时间戳,而不使用 php 代码进行转换,因为我相信这种方式更快,但是你如何从行集中获取 unix 时间
我得到了日期,像这样存储在 MySQL 列中:09-11-2012(格式为 DD/MM/YYYY),但是当我这样做时: SELECT UNIX_TIMESTAMP(t.date) FROM table
我是一名优秀的程序员,十分优秀!