sql - 如何在SQL中将varchar字段(YYYYMM)转换为日期(MM/01/YY)?

标签 sql hsqldb openoffice.org

我敢肯定这很简单,但是我已经坚持了一段时间。如何在SQL中将varchar字段(YYYYMM)转换为日期(MM / 01 / YY)?

谢谢。

编辑:我使用的是Open Office Base(HSQL),而不是MySQL;对困惑感到抱歉。

最佳答案

使用STR_TO_DATE:
mysql.com

STR_TO_DATE(str,format)
这是DATE_FORMAT()函数的反函数。它采用字符串str和格式字符串格式。如果格式字符串同时包含日期和时间部分,则STR_TO_DATE()返回DATETIME值;如果字符串仅包含日期或时间部分,则返回DATE或TIME值。
str中包含的日期,时间或日期时间值应以format指示的格式给出。有关可以使用格式的说明符,请参见DATE_FORMAT()函数说明。如果str包含非法的日期,时间或日期时间值,则STR_TO_DATE()返回NULL。从MySQL 5.0.3开始,非法值也会产生警告。
日期部分的范围检查如第11.3.1节“ DATETIME,DATE和TIMESTAMP类型”中所述。例如,这意味着允许“零”日期或部分值为0的日期,除非将SQL模式设置为不允许此类值。
mysql> SELECT STR_TO_DATE('00 / 00/0000','%m /%d /%Y');
->'0000-00-00'
mysql> SELECT STR_TO_DATE('04 / 31/2004','%m /%d /%Y');
->'2004-04-31'

关于sql - 如何在SQL中将varchar字段(YYYYMM)转换为日期(MM/01/YY)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583242/

相关文章:

centos - CentOS 6 上的 Jodconverter - "failed to start and connect"

mysql - 从表中选择在不同表中至少有一个条目的用户

linux - 内存数据库中带有嵌入式 HSQL 的 Spring DataSource 和 Linux 上的 hibernate create-drop ordering

delphi - Delphi的基本代码

java - sql - 当我得到 2 个或更多具有相同值的值时,仅更新 1 个(查询找到的第一个)值的方法?

Hsqldb 单引号字符

java - 如何从我的 Java Uno 应用程序关闭 OpenOffice?

mysql - 当我在页面加载时使用数据读取器附加文本框的内容时,更新查询不起作用

java - 使用 sql 连接 swings

where子句中的MySQL错误?