DATENAME
功能描述
Vastbase G100在SQL Server兼容模式下支持DATENAME函数,用于返回表示指定 date 的指定 datepart 的字符串,返回值为varchar类型。
语法格式
DATENAME(datepart,date)
参数说明
datepart
datepart将返回表示 date 参数的特定部分的整数,支持的datepart参数如下所示:
datepart | 缩写形式 | 备注 |
---|---|---|
year | yy,yyyy | 年 |
quarter | qq,q | 季度 |
month | mm,m | 月 |
dayofyear | dy,y | 一年中的第几天 |
day | dd,d | 日 |
week | wk,ww | 一年中的第几周 |
weekday | dw,w | 星期几 |
hour | hh | 小时 |
minute | mi,n | 分钟 |
second | ss,s | 秒 |
millisecond | ms | 毫秒 |
microsecond | mcs | 微秒 |
nanosecond | ns | 毫微秒 |
tzoffset | tz | 时区偏移量 |
iso_week | isowk,isoww | ISO标准周数 |
date
要返回datepart值的日期、时间或时间戳表达式。日期表达式必须包含datepart类型的值。
可解析为下列值之一的表达式:
- time
- timetz
- date
- timestamp
- timestamptz
注意事项
该功能仅在数据库兼容模式为SQL Server时能够使用(即创建DB时DBCOMPATIBILITY='MSSQL'),在其他数据库兼容模式下不能使用该特性。
示例
前置步骤:创建兼容模式为SQL Server的库db_sqlserver,并进入。
CREATE DATABASE db_sqlserver DBCOMPATIBILITY='MSSQL';
\c db_sqlserver
示例1:直接调用DATENAME函数。
SELECT datename(month,getdate());
返回结果如下:
datename
----------
February
(1 row)
示例2:在sql语句中调用DATENAME函数。
1、创建测试表。
create table test(id int,col1 text,col2 varchar,col3 char(8),col4 varchar2(10));
2、在INSERT语句中使用。
insert into test values(1,datename(yyyy,getdate()),
datename(month,'2022-12-11'),datename(day,'1999-09-18'),datename(week,'2099-12-01'));
insert into test(id) values(2);
3、在UPDATE语句中使用。
update test set col3=datename(second,'1999-09-18 20:59:59') where id=2;
4、查询结果。
SELECT * FROM test;
结果返回如下:
id | col1 | col2 | col3 | col4
----+------+----------+----------+------
1 | 2023 | December | 18 | 49
2 | | | 59 |
(2 rows)