标签: date-format

在视图中将 Unix 时间戳转换为 DATETIME

我有一个存储 unix 时间戳的表。要将其作为日期查询,我正在尝试将此时间戳转换为视图中的日期时间类型。不幸的是,我似乎只能取出 DATE 部分。

此链接描述了如何进行转换,但需要更改nls_date_format以包含时间部分。默认当前仅显示日期部分。我需要日期和时间。

不幸的是,该解决方案仅适用于会话级别。作为开发人员,我宁愿不必跑到我们的托管服务提供商那里要求他们更改数据库级别的值 - 特别是因为它可能会影响其他应用程序。

有没有一种方法可以在不修改系统的情况下将 sql 中的时间戳转换为日期时间?

oracle oracle-11g timestamp date-format

7
推荐指数
2
解决办法
9万
查看次数

如何仅从 MySQL 日期/时间获取月份?

在我的 MySQL 服务器中,我有包含我创建内容日期的行。
例子:2013-03-17 02:53:47

现在,我正在使用:

$date = $fetch[thedaterownamegoeshere];

<?php echo $date; ?>
Run Code Online (Sandbox Code Playgroud)

但是2013-03-17 02:53:47,我不想获取日期 ( )的全部内容,而是只想获取月份——在本例中,我希望将数字“03”作为结果。我怎样才能做到这一点?

mysql date-format mysql-5.5 datetime

7
推荐指数
1
解决办法
9万
查看次数

将日期转换为 yyyymmdd 格式

建议使用哪个 SQL 命令将日期转换为yyyymmdd格式?

  1. convert(varchar(8), getdate(), 112); 或者
  2. convert(varchar, getdate(), 112)

我注意到如果我使用第二个,它会在日期后附加两个空格。(例如 [ 20130705] - 注意值后面的两个空格20130705

是否建议使用第一个 SQL 语句?

sql-server-2008 sql-server date-format type-conversion

7
推荐指数
1
解决办法
11万
查看次数

按月-年关键面值存储日期的最佳实践

我正在制作一项需要保存按年月组合分组和计算的数据的服务。我知道如何计算数据并将其放在新表上。但是我很困惑应该使用哪种数据类型来存储月 - 年值。这是我所考虑的。

  1. 两个整数列,一个为一年,另一个为一个月(清晰易懂且易于操作(使用此表的任何人都可以轻松使用范围和顺序),但我认为这比其他解决方案占用更多空间。
  2. 使用日期字段,并始终为整个月存储一个日期。(很难向用户解释它是如何工作的以及如何创建 WHERE 子句)
  3. 一个 varchar(7) 列并将其放在那里,例如 2012-02,2013-01。对我来说,这很容易理解,但很难操作。

我应该选哪个?或者有其他解决方案。有人可以根据性能建议哪种方式将是一个好的解决方案,因为大多数查询将在 where 解决方案中使用数据范围,而我的新表将有大约 2-5 百万条记录。

sql-server-2008 database-design datatypes date-format

6
推荐指数
1
解决办法
8474
查看次数

强制 SQL Server 解析“DDMMYYYY”

我正在从一个文件开发 ETL,其中日期以“DDMMYYYY”格式表示,例如“31012016”。

我想获取这个字符串并将它直接传递给将插入数据的 SQL 文本。我不想将它解析为 C# DateTime 然后将其格式化为“YYYY-MM-DD”,以便 SQL Server 再次解析它。

正如我目前所做的那样,日期字符串由 .Net 解析一次,然后由 .Net 格式化并打印在 SQL 代码中,然后由 SQL Server 再次解析。我想从平面文件中获取字符串并将其直接放入 SQL 代码中,无需任何转换。

SQL Server 识别“YYYYMMDD”,但“DDMMYYYY”失败并显示消息:

从字符串转换日期和/或时间时转换失败。

例子:

DECLARE @datevar date = PARSE('31012016' as date using 'pt-BR');  
SELECT @datevar; 
Run Code Online (Sandbox Code Playgroud)

有没有办法让它工作?

我试过了,PARSE('31012016' as date using 'pt-BR')但引发了异常。TRY_PARSE返回空值。还尝试了CAST 和 CONVERT (Transact-SQL)但似乎不存在这种风格。

sql-server date-format sql-server-2012

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

从 Unix 日期获取年份 DATEPART

在我的数据库中,日期保留为自 1970 年 1 月 1 日起/之前经过的天数,我认为这是一种 Unix 日期格式,例如。今天是 2018 年 5 月 23 日,值为 17674。

我正在尝试select针对日期表中的列运行语句以仅显示年份。

如果我运行这个:

datepart(year, c.cko_date)
Run Code Online (Sandbox Code Playgroud)

我得到的日期是 1940 年代(应该是最近几年)。

当我跑

select datepart(year, getdate()) 
Run Code Online (Sandbox Code Playgroud)

它正确地告诉我日期是 2018 年。

关于我做错了什么的任何建议?

sql-server-2008 sql-server date-format format date

5
推荐指数
1
解决办法
739
查看次数

sybase 格式日期时间 yyyymmdd

这似乎是一件微不足道的事情很容易,但我找不到一个好的方法来做到这一点。

这就是我想出的:

select convert(numeric,
                    (select convert(varchar,datepart(yy,getdate())) + 
                         right('0' + convert(varchar,datepart(mm,getdate())), 2) +
                         right('0' + convert(varchar,datepart(dd,getdate())), 2)
                    ))
Run Code Online (Sandbox Code Playgroud)

编辑:我知道它不需要这样的子查询,但忽略 =p

sybase date-format

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

如何使用 IN 子句检索不同日期的行

我的表结构:

+-----------------+--------------+------+-----+-------------------+----------------+
| Field           | Type         | Null | Key | Default           | Extra          |
+-----------------+--------------+------+-----+-------------------+----------------+
| id              | int(11)      | NO   | PRI | NULL              | auto_increment |
| user            | varchar(100) | NO   |     | NULL              |                |
| uniq_name       | varchar(100) | NO   |     | NULL              |                |
| info_name       | varchar(100) | NO   |     | NULL              |                |
| delay_time      | int(11)      | NO   |     | NULL              |                |
| track_time      | timestamp    | NO   | …
Run Code Online (Sandbox Code Playgroud)

mysql phpmyadmin php date-format

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

Oracle 中的日期格式

这个查询:

select to_char(sysdate, 'Ddspth MONTH, Yyyysp') from dual
Run Code Online (Sandbox Code Playgroud)

将返回:

Eighteenth MARCH , Two Thousand Fourteen
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何其他格式关键字允许包含诸如 "of" 、 "the" 之类的字符列表,以便获得如下输出:

"Today is the" Eighteenth "of" MARCH, Two Thousand Fourteen
Run Code Online (Sandbox Code Playgroud)

还是需要拆分日期转换并使用 concat 函数?谢谢

例如 :

select 'Today is the ' || to_char(sysdate, 'Ddspth') || ' of' || to_char(sysdate,' MONTH, Yyyysp') from dual
Run Code Online (Sandbox Code Playgroud)

oracle date-format date

4
推荐指数
1
解决办法
965
查看次数

解析 COPY 的二进制格式以访问 tsrange

tsrange 如何以二进制形式存储?

例如创建表

CREATE TABLE public.test (t tsrange);
INSERT INTO test VALUES ('[2010-01-01 14:30, 2010-01-01 15:30)');
INSERT INTO test VALUES ('[2011-01-01 14:31, 2015-11-01 15:30)');
INSERT INTO test VALUES ('[2017-01-01 14:31, 2018-11-01 15:30)');
COPY test TO '/tmp/pgcopy' WITH (FORMAT binary);
COPY test TO '/tmp/pgcopy.csv' WITH (FORMAT csv);
Run Code Online (Sandbox Code Playgroud)

它输出:

 cat /tmp/pgcopy.csv                                                                                                                                                                                                  
"[""2010-01-01 14:30:00"",""2010-01-01 15:30:00"")"
"[""2011-01-01 14:31:00"",""2015-11-01 15:30:00"")"
"[""2017-01-01 14:31:00"",""2018-11-01 15:30:00"")"


hexdump -C /tmp/pgcopy
00000000  50 47 43 4f 50 59 0a ff  0d 0a 00 00 00 00 00 00  |PGCOPY..........|
00000010 …
Run Code Online (Sandbox Code Playgroud)

postgresql dump date-format fields copy

4
推荐指数
1
解决办法
3791
查看次数