问题标签 [str-to-date]
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.
mysql - Mysql Select 语句和即时转换时间戳
我有一个 MYSQL 表,它有一个名为 timestamp 的列名,以字符串格式存储。此列中的时间戳采用以下格式,例如“20/10/2014 05:39 PM”
现在如何选择一行并将时间戳列动态转换为 24HR 格式。
基本上我想要这样的东西。
SELECT id, user, STR_TO_DATE(timestamp, '%d/%m/%Y %h:%i %p') as timestamp FROM mytable WHERE user="bob"
;
但这不起作用。看起来它没有识别STR_TO_DATE
sql 函数中的时间戳变量,并且它为时间戳列重新调整了 NULL。
请帮忙。
mysql - 比较 DATETIME 字段时的 STR_TO_DATE() 与 CONSTANT
有一个DATETIME
名为“created_at”的表。我尝试执行两个这样的查询:
SELECT * FROM myTable WHERE created_at BETWEEN '2015-03-15 10:25:00' AND '2015-03-25 10:30:00';
SELECT * FROM myTable WHERE created_at BETWEEN STR_TO_DATE('2015-03-15 10:25:00', '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE('2015-03-25 10:30:00', '%Y-%m-%d %H:%i:%s');
我总是使用第一个查询,但最近看到一篇文章描述了第二种方法是比较的最佳方法DATETIME
。不幸的是,它没有解释为什么这种方法是最好的方法。
现在,我有一些问题:
- 这两种方法有什么区别吗?
- 哪种方式更可取?
谢谢!
oracle - ORA-01830 错误 - 将字符串转换为日期对象
我需要在 oracle 中将字符串转换为日期对象。由于所有这些都是通过 sql-loader (sqlldr) 在 shell 脚本中运行的,因此我既不能修改也不能查看代码。我可以设置的唯一参数是转换过程的格式字符串。
输入字符串看起来总是一样的:'Mar 11 2015 7:37:53:060PM'
尝试:我创建了这样的格式:'Mon dd YYYY HH:mi:ss:ff3AM',但我无法运行它,因为我遇到了这个错误消息:“kgepop: no error frame to pop to for error 1821 " (我假设这与 ORA-01821: 日期格式无法识别)我假设这是因为 "ss:ff3AM",因为我发现显然to_date函数无法读取毫秒和 AM/PM 作为一个输入参数(如果我错了,请纠正我,我对此不是 100% 确定)。
尝试:我创建了这样的格式:'Mon dd YYYY HH:mi:ss',我希望他可能只是切断输入字符串的其余部分,但我遇到了ORA-01830 错误(“日期格式图片在转换之前结束整个输入字符串")
因此,我假设脚本执行以下操作:
有没有办法告诉 to_date 方法通过格式字符串切断输入字符串的最后一部分?
每一个帮助将不胜感激!
编辑
不幸的是,我无法使用 to_timestamp 方法,因为我无法修改 shell 脚本功能。所以我必须使用 to_date 方法:(
mysql - MySQL 导入文件超过 60 秒或分钟
我目前正在将 CSV 文件导入 MySQL 表,其中包含如下行:
它基本上是来自 PBX 的 CDR。但是,我无法控制信息源,所以我只是按原样接收此文件。到目前为止,列是:
我使用 LOAD DATA INFILE 来导入我的数据,如下所示:
CARDID 只是一个存储我的源文件名的字段
问题是:DURATION 给我带来了问题。请参阅:有些行是这样的:
也就是说,持续时间是 140 分 28 秒;但是,如果我存储该值,它会给我一个错误。这是因为:
因为 %i 预计分钟数在 00 到 59 之间。
我尝试使用 SEC_TO_TIME,但也失败了(它只需要第一个数字):
我怎样才能修改我的查询(请,只是 SQL)以正确的格式存储那个时间?
mysql - str_to_date 的奇怪行为,可能混合表?
我对此查询有疑问,无法弄清楚问题出在哪里。我正在尝试运行:update earnings_history set
Date_formatted = STR_TO_DATE(
temp_date, '%m/%d/%Y');
将我的字符串转换为日期,但出现此错误。
然而这个查询:select temp_date from earnings_history where
temp_dateREGEXP '[-]';
没有找到任何行。
我使用格式完全不同的表中的 %Y-%m-%d ,但它们似乎混合在一起?
mysql - 在两个日期之间选择日期格式
也许任何人都可以帮助我解决这个问题。我只想选择两个日期之间的所有行,但是日期格式有问题。
我的查询:
我不知道这个查询有什么问题。我试过使用STR_TO_DATE
and DATE
。
日期的日期类型是文本(我想保留它)
下面是一个数据库示例:
有谁能够帮助我?
mysql - 如何正确批量使用 str_to_date?
我正在使用批处理导入带有计划任务的 csv 文件。我的批次如下:
我正在导入的 csv 包含招聘日期、请假日期等。
如何str_to_date
在批处理中使用该命令,以便将日期字段 (mm/dd/yyyy) 转换为正确的 SQL 格式?
mysql - 使用 str_to_date 时忽略日期字符串中的字符
我正在从日期字段存储为文本的 XML 文件中导入数据。通常这在 mysql 中很容易转换,但问题是日期包含%e
存储为 1st、2nd、3rd、4th 等的元素。因此,无法应用标准的一致格式字符串。
字段中的数据示例date
如下:
2014 年 8 月 25 日星期一
2014 年 11 月 1 日星期六
我的查询如下:
由于日期字符串中的附加字符,此操作失败。所以我将我的格式字符串调整为'%W %eth %M %Y'
,正如预期的那样,这只适用于其中包含“th”的日期。我无法锻炼如何排除日期中可能出现的“st”和“nd”字符。
mysql - STR_TO_DATE 和 LOAD DATA INFILE 格式问题
嗯,谢谢大家的帮助。看起来它是日期格式中未转义的字符: '%%d/%%m/%%Y %%H:%%i' 是我需要的。由于这是从批处理文件运行的,因此我没有考虑到这一点。
我有一个运行 SQL 命令的批处理文件,我认为我理解了所需的内容,但似乎无法将它们全部组合在一起。当我运行下面的代码时,我可以正确导入所有内容,但是我的 STR_TO_DATE 格式必须关闭,或者我定位第二列的方式必须关闭,因为我只得到“(NULL)”或我的全零当我运行下面的脚本时的 DATETIME 列。
这是我从命令提示符窗口看到的屏幕截图。可疑部分以绿色突出显示:http: //i.imgur.com/TztR31p.png ?1
有任何想法吗?
下面是我使用 LOAD DATA INFILE 函数访问的文件示例
mysql - MySQL字符串到日期转换与不同的字符串?
我需要转换不同字符串的日期。它们有 3 种不同的方式。
年年/月/日
月/日/年
或空白(可以填写一些默认值)
对于 INSERT 语句,处理这种情况的好方法是什么?