SQL查询将日期转换为其他格式
感谢您的帮助。我无法确定日期列中“值”的类型/格式。我想它是以Julian日期格式。SQL查询将日期转换为其他格式
该列为paid_month且值如下。
200901
200902
所以,请以书面形式SQL查询中的日期列正常日期(MM/DD/YYYY)上述值(大部分在朱利安格式)转换帮助。
感谢 罗希特
嗨,
我是在给整个信息缺失的遗憾。
1)它是一个Oracle数据库。 2)给出的列是Paid_Month与值200901,200902
3)我也困惑,上述值给出了& year.Day不给予,如果我的猜测是正确的。
4)如果它不是在朱利安格式,那么也请你帮我的SQL至少拿到MM/YYYY
我使用的是Oracle数据库和运行查询 谢谢,我得到的答案。
* *现在,我必须做相反的意义转换日期01/09/2010到一个具有6位数字的字符串。 请帮助与syntax- 选择TO_CHAR(01/01/2010,**
对于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')
它看起来像YYYYMM - 这取决于你的数据库变体,请尝试STR_TO_DATE(paid_month, 'YYYYMM')
,然后格式化。
注意:MM/DD/YYYY不是“正常”格式 - 只有美国人使用它。 RLD采用DD/MM/YYYY
我正在使用一个Oracle数据库,并运行查询从双重选择付款日期= STR_TO_DATE('200901','%Y%m'); – Rohit 2011-06-02 07:52:50
对于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
SELECT (paid_month % 100) + "/01/" + (paid_month/100) AS paid_day
FROM tbl;
我不知道如何甲骨文符连接字符串。通常你会看到||在SQL:
SELECT foo || bar FROM ...
或功能:
SELECT cat (foo, bar) FROM ...
什么数据库您使用的?供应商之间转换日期的功能各不相同。 – Bohemian 2011-06-02 07:19:21
应该说你正在处理哪个口味的SQL .... – tofutim 2011-06-02 07:19:39
我猜'paid_month'实际上是一个(var)char列,而不是一个日期(时间)列也... – 2011-06-02 07:22:18