当前位置: 首页 > 面试题库 >

如何将varchar转换/转换为日期?

莫骞仕
2023-03-14
问题内容

varchar(mm-dd-yyyy)在mySQL 5.1中有一个数据类型的日期列。如何将其转换为DATE?

这是我到目前为止所拥有的-

SELECT id, date 
FROM tableName 
WHERE (CAST((SUBSTRING (date FROM 7 FOR 4 )||'/'||SUBSTRING (date FROM 4 FOR 2 )||'/'||SUBSTRING (date FROM 1 FOR 2 )) AS DATE) >= '01/01/2012' ) 
ORDER BY date DESC;

得到这个

错误-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’FROM 7 FOR 4附近使用)

请帮忙。


问题答案:

您可以使用MySQL的STR_TO_DATE()功能

SELECT id, date 
FROM tableName 
WHERE STR_TO_DATE(date,'%Y-%m-%d') >= '01/01/2012' 
ORDER BY date DESC;

尽管我怀疑您使用Unix时间戳会更轻松

SELECT id, date聽
FROM tableName聽
WHERE UNIX_TIMESTAMP(STR_TO_DATE(date,'%d/%m/%Y')) >= UNIX_TIMESTAMP('01/01/2012')聽
ORDER BY date DESC;


 类似资料:
  • 问题内容: 我需要将1/9/2011的varchar值转换为mySQL中的日期,并且只需要月份和年份。这样我就可以使用该功能(因此,我需要将以上内容转换为201101)。 我已经尝试过使用函数的各种方式: 但是我得到了奇怪的结果…(例如:2009-01-00) 我做错了什么? 问题答案: 要么 很难从你的例子中看出

  • 问题内容: 我需要将变量中的值转换为格式化为格式的变量(无时间部分)。 我怎么做? 问题答案: 使用Microsoft Sql Server:

  • 问题内容: 我在下面的查询中,需要转换为 架构图 我尝试了什么 但它们不起作用。请提出建议。 问题答案: 您将需要或作为数据类型,没有可以将数据强制转换/转换为以下数据的数据类型: 请参阅下面的SQL(实际上)在SQL Fiddle中 : 除了您试图转换为不正确的数据类型外,您所使用的语法也不正确。该函数使用以下列或值: 要么 您的原始查询的语法向后。

  • 问题内容: 我试图在我的数字列中附加一些alphabt来获取记录。但即时通讯收到错误,我尝试了强制转换和转换功能。 例如 这里StandardCost是一个数字字段,但是当我获取记录时遇到错误,请看看。 问题答案: 我认为应该 或者

  • 本文向大家介绍Dapper.NET 将varchar转换为IHtmlString,包括了Dapper.NET 将varchar转换为IHtmlString的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 如何将GUID字符转换为VARCHAR(32)? 我正在尝试将数据从一个表复制到另一个表。这两个表中有两个相似的列。 Table1.colx 是一个GUID,因此由于连字符的原因,它的总长度为字符 对应的列是 table2.colx, 但它是VARCHAR(32) 我正在寻找一种将GUID转换为VARCHAR的方法,但是我必须删除连字符。到目前为止,我一直没有成功找到实现此目标的方法。