将日期转换为另一种格式的 SQL 查询

发布于 2024-11-11 03:53:52 字数 599 浏览 5 评论 0原文

感谢您的帮助。我无法确定日期列中“值”的类型/格式。我猜它是儒略日期格式。

该列是paid_month,值如下。

                  200901
                  200902

因此,请帮助编写 SQL 查询,将日期列中的上述值(大部分采用儒略格式)转换为正常日期 (MM/DD/YYYY)。

谢谢 罗希特

嗨,

我很抱歉未能提供全部信息。

1)它是一个Oracle数据库。 2)给出的列是 Paid_Month ,值为 200901,200902

3)我也很困惑,上面的值给出了月份和;如果我的猜测是正确的,则不会给出year.Day。

4)如果不是 Julian 格式,那么还请帮助我获取至少 mm/yyyy 的 SQL


我正在使用 Oracle DB 并运行查询 谢谢我得到答案。

**现在,我必须执行相反的操作,将日期 01/09/2010 转换为具有 6 位数字的字符串。 请帮助语法- 选择 to_char(01/01/2010,**

Thanks for your help. I am not able to make out the type/format of the "Value" in a Date column.I guess its in Julian Date format.

The Column is paid_month and the values are below.

                  200901
                  200902

So,please help in writing SQL query to convert the above values(Mostly in Julian Format) in the Date Column to normal date (MM/DD/YYYY) .

Thanks
Rohit

Hi,

I am sorry for missing in giving the whole information.

1)Its a Oracle Database.
2)The column given is Paid_Month with values 200901,200902

3)I am also confused that the above value gives month & year.Day isnt given if my guess is right.

4)If its not in Julian format ,then also please help me the SQL to get at least mm/yyyy


I am using a Oracle DB and running the query
THANKS i GOT THE ANSWER.

**Now,i have to do the reverse meaning converting a date 01/09/2010 to a String which has 6 digits.
Pls help with syntax-
select to_char(01/01/2010,**

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

宫墨修音 2024-11-18 03:53:52

它看起来像 YYYYMM - 根据您的数据库变体,尝试 STR_TO_DATE(paid_month, 'YYYYMM'),然后对其进行格式化。

注意:MM/DD/YYYY 不是“正常”格式 - 只有美国人使用它。世界其他地区使用 DD/MM/YYYY

It looks like YYYYMM - depending on your database variant, try STR_TO_DATE(paid_month, 'YYYYMM'), then format that.

Note: MM/DD/YYYY is not "normal" format - only Americans use it. The rest of the world uses DD/MM/YYYY

另类 2024-11-18 03:53:52

用于 MySQL 检查
http://dev.mysql .com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

示例:

SELECT DATE_FORMAT(NOW(), '%d/%m/%Y')

For MySQL check
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

Example:

SELECT DATE_FORMAT(NOW(), '%d/%m/%Y')
南风几经秋 2024-11-18 03:53:52

对于 MySQL,您将使用 STR_TO_DATE 函数,请参阅 http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_str-to-date

SELECT STR_TO_DATE(paid_month,'%Y%m');

听起来该列包含一些正常的日期和一些 YYYYMM 日期。如果目标是更新整个列,您可以尝试隔离 YYYYMM 日期并仅更新这些日期。像这样的东西:

UPDATE YourTable
SET paid_month = DATE_FORMAT(STR_TO_DATE(paid_month, '%Y%m'), '%m/%d/%Y')
WHERE LENGTH(paid_month) = 6

For MySQL, you would use the STR_TO_DATE function, see http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_str-to-date

SELECT STR_TO_DATE(paid_month,'%Y%m');

Sounds like the column contains some normal dates and some YYYYMM dates. If the goal is to update the entire column, you can attempt to isolate the YYYYMM dates and update only those. Something like:

UPDATE YourTable
SET paid_month = DATE_FORMAT(STR_TO_DATE(paid_month, '%Y%m'), '%m/%d/%Y')
WHERE LENGTH(paid_month) = 6
短暂陪伴 2024-11-18 03:53:52
SELECT (paid_month % 100) + "/01/" + (paid_month/100) AS paid_day
FROM tbl;

我不确定 oracle 如何连接字符串。通常,您会看到 ||在 SQL 中:

SELECT foo || bar FROM ...

或函数:

SELECT cat (foo, bar) FROM ...
SELECT (paid_month % 100) + "/01/" + (paid_month/100) AS paid_day
FROM tbl;

I'm not sure about how oracle concatenates strings. Often, you see || in SQL:

SELECT foo || bar FROM ...

or functions:

SELECT cat (foo, bar) FROM ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文