Sql 如何将YYYY-MM-DD日期转换为YYYY-MM日期
在SQL中。如何将a列从(YYYY-MM-DD)转换为(YYYYMM)?我想用YYYYMM格式显示日期,而不是YYYY-MM-DD格式Sql 如何将YYYY-MM-DD日期转换为YYYY-MM日期,sql,teradata,Sql,Teradata,在SQL中。如何将a列从(YYYY-MM-DD)转换为(YYYYMM)?我想用YYYYMM格式显示日期,而不是YYYY-MM-DD格式 数据类型是时间戳。使用Teradata Studio 15.10.10 您可以使用DATEPART获取日期的年和月部分,转换为varchar、pad和concaternate SELECT DATEPART(YEAR,GETDATE()) SELECT DATEPART(MONTH,GETDATE()) SELECT CAST(DATEPART(YEAR,
数据类型是时间戳。使用Teradata Studio 15.10.10 您可以使用DATEPART获取日期的年和月部分,转换为varchar、pad和concaternate
SELECT DATEPART(YEAR,GETDATE())
SELECT DATEPART(MONTH,GETDATE())
SELECT CAST(DATEPART(YEAR,GETDATE()) AS VARCHAR(4)) + RIGHT('00' + CAST(DATEPART(MONTH,GETDATE()) AS VARCHAR(2)),2)
您将需要3个函数 MONTH()函数。返回1到12(1月到12月)范围内日期的月份。当日期的月份部分为0时,返回0 YEAR()函数。返回一个4位数的年份 CONCAT()函数用于将两个或多个字符串连接在一起 下面是一个组合这3个函数的例子 选择年份('1969-02-18')、月份('1969-02-18')) 或者你也可以和我一起做 选择日期格式('1969-02-18','%Y%m') 因此,如果您的问题涉及A列,您可以使用 选择日期格式(A、%Y%m) SQL Fiddle:
在Teradata中,您可以随意设置日期格式。要获得YYYYMM,您将使用
select <your date> (format 'yyyymm') (char(6))
select(格式为'yyyymm')(字符(6))
您的日期列必须是此操作的实际日期,而不是字符串。对于Teradata,请使用
to_char(tscol, 'YYYYMM') -- varchar result
或
列A的数据类型是什么?…什么DBMS?到目前为止,您尝试了什么?错误是什么?删除
-
s。您使用的是什么数据库引擎?SQL是一种语言标准,但每个RDBMs实现它的方式非常不同-尤其是对于任何日期函数,请指定您所指的数据库。对未指定dbms的问题的特定于产品的答案。至少告诉我们这是用于哪个dbms。语法错误:数据类型“A”与定义的类型名称“A”不匹配,我使用表中的SELECT DATE_格式(A,'%Y%m')进行了测试。我的A
是时间戳-可能单独测试月()或年()。
extract(year from tscol) * 100 + extract(month from tscol) -- integer result