数据库日期转换问题

数据库日期转换问题,第1张

DB2:year(date_expression)返回date_expression中的年份

oracle :select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年

MySQL: year(curdate());

SQL :Year(date)

第一步:你做错了,他们给的这个数据类型根据你的需求根本用不着更改为datetime,为什么会变成这样也是因为这个数据根本就不能转成datetime模式

/ 接下来。。。。。重新恢复你的数据类型为 numeric(18, 0) 看数据能不能恢复原来的样子 或着用下面二位的用法,再根据year和month取值,我建议先试前面一种(因为这是人家给你的数据,不能乱改,万一人家在其它地方有引用,人家问起来你就不好回了) /

前面一种按年月来查询可以这样写

select left(fyearmonth,4),right(left,2),sum(qty) from tb

group by left(fyearmonth,4),right(left,2)

Year(@time), Month(@time) 2 个函数即可。

然后用它们来组装字符串也就简单了。

CONVERT(VarChar(7), @time, 120)会得到YYYY-MM。调用。

用转成字符串,,但此时他已经不是时间类型。

CONVERT(char(7),"你的时间例",120)

sql server 中,

可以用cast()函数将日期时间转换为日期,

比如:cast('2014-01-22 13:22:35000' as date) 的结果为2014-01-22

以下语句是查询2012年的数据,日期范围可以修改

select 表名

where CAST(时间字段 as date) between '2012-01-01' and '2012-12-31'

如果要查全年数据,也可以这样,

select 表名 where year(时间字段)=2012

另外,用convert()函数也可以将日期时间字段转换为日期字段来代替cast,具体用法baidu一下

如果是oracle数据库请用to_date()代替cast将日期时间字段转换为日期来查询

你建一个form,仍

一个

button,一个ADOconnection,一个ADOquery,一个DateTimePicker

下面是button的代码。可以取得SQL的日期

procedure

TForm1Button1Click(Sender:

TObject);

begin

with

adoquery1

DO

BEGIN

CLOSE;

SQLClear

;

SQLAdd('select

getdate()');

OPEN;

END;

DateTimePicker1DateTime

:=

adoquery1Fields[0]AsDateTime

;

end;

以上就是关于数据库日期转换问题全部的内容,包括:数据库日期转换问题、SQL 数据类型转换 日期由数字型numeric(18, 0)转换为datetime型、SQL数据库中怎么将时间格式转换到年和月等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10195312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存