字符串和时间转换sql

oracle:

当前时间:sysdate
– dual (Oracle中的一张内部表,只有一行一列,一般用作特定查询)

时间转字符串: to_char(date,format)

 select to_char(sysdate,'yyyy"年"mm"月"dd"日"') 时间转字符串 from dual;

2019年04月18日

字符串转时间: to_date(str,format)

select to_date('2018-02-23 15:33:21','yyyy-mm-dd hh24:mi:ss') 字符串转时间 from dual;

2018-02-23 15:33:21
两个参数的格式必须匹配

mysql:
当前时间:now()

时间转字符串: date_format(date,’%Y-%m-%d’)

  select date_format(now(), '%Y-%m-%d %H:%i:%s');  

2019-04-18 15:39:16

字符串转时间: str_to_date(date,’%Y-%m-%d’)

  select str_to_date('2016-09-09 15:43:28', '%Y-%m-%d %H:%i:%s');

2016-09-09 15:43:28
%Y:4位的年份
%y:代表2为的年份
%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)
%H:代表小时,格式为(00……23)
%k:代表 小时,格式为(0……23)
%h: 代表小时,格式为(01……12)
%I: 代表小时,格式为(01……12)
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59)
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)
%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)

sqlserver:
当前时间:getdate()

convert(目标类型[datatime/varchar],'输入内容'[时间/字符串],格式);

时间转字符串:

select convert(varchar(100), GETDATE(), 101)
04/06/2019

select convert(varchar(100), GETDATE(), 11)
19/04/06
select convert(varchar(100), GETDATE(), 12)
190406
select convert(varchar(100), GETDATE(), 23)
2019-04-06
select convert(varchar(100), GETDATE(), 24)
16:44:26
select convert(varchar(100), GETDATE(), 102)
2019.04.06
select convert(varchar(100), GETDATE(), 111)
2019/04/06
select convert(varchar(100), GETDATE(), 112)
20190406
select convert(varchar(100), GETDATE(), 120)
2019-04-06 16:48:02
select convert(varchar(100), GETDATE(), 121)
2019-04-06 16:48:12.267

字符串转时间:

select convert(datetime,‘11/1/2003’,101)
2003-11-01 00:00:00.000

select convert(date,‘11/1/2003’)
2003-11-01

postgresql:

当前时间:now(),current_timestamp

时间转字符串:

select to_char(now(), 'yyyy-mm-dd hh24:mi:ss.us')

2019-04-06 17:17:09.177039

字符串转时间:

select to_date('2018-03-12 18:47:35','yyyy-MM-dd hh24:mi:ss') 

2018-03-12

select to_timestamp('2018-03-12 18:47:35','yyyy-MM-dd hh24:mi:ss') 

2018-03-12 18:47:35+08

cast用法:

cast(字段名 as 转换的类型 )

select cast(sysdate as timestamp) from dual

select cast(now() as date)

select cast(getdate() as varchar(100))

select cast(123 as decimal(10,2))
–得出decimal型123.00.这里10表示显示数字总个数,2表示小数点后个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值