HANA 数据库

增加或删除字段

ALTER TABLE "SCHEMA1"."TABLE1" DROP (COL1);

修改字段类型

ALTER TABLE "SCHEMA1"."TABLE1" ALTER ("TYPE" NVARCHAR (10) NULL);

修改字段名称

RENAME COLUMN "SCHEMA1".<table_name>.<old_column_name> TO <new_column_name>;

表增加字段

ALTER TABLE SCHEMA.TABLE ADD (COLUMNNAME DATATYPE(LENGTH));

表删除字段

ALTER TABLE SCHEMA.TABLE DROP (COLUMNNAME);

字段增加注释

COMMENT ON COLUMN SCHEMA.TABLE.COLUMNNAME IS 'COMMENT';

日期

select
REPLACE(CAST((TO_DATE(CURRENT_TIMESTAMP)) AS VARCHAR(10)),'-','') AS DATE --–-麻烦写法
,TO_CHAR(CURRENT_DATE,'YYYY-MM-DD HH24:MI:SS') "今天"
,TO_CHAR(add_days(CURRENT_DATE ,-1),'YYYY-MM-DD HH24:MI:SS') "昨天"
,to_char(concat(TO_CHAR(CURRENT_DATE,'YYYY'),'0101')) "年初"
,LAST_DAY(ADD_MONTHS_LAST(TO_DATE (CURRENT_DATE, 'YYYY-MM-DD'), -1)) "上月最后一天"
,concat(YEAR (TO_DATE (CURRENT_DATE, 'YYYY-MM-DD'))-1,'12') "上年年末" --202112
from dummy

CURRENT_DATE--返回当前本地系统日期。

SELECT CURRENT_DATE "current date" FROM DUMMY;

--返回值:2017-7-5

CURRENT_TIME--返回本地系统时间。

SELECT CURRENT_TIME "current time" FROM DUMMY;

--返回值:18:08:03

LAST_DAY--返回包含指定日期的月份的最后一天的日期。

SELECT LAST_DAY (TO_DATE('2010-01-04','YYYY-MM-DD')) "last day" FROM DUMMY;

--返回值:2010-1-31

NEXT_DAY--返回指定日期后的第二天的日期。

SELECT NEXT_DAY (TO_DATE ('2009-12-31','YYYY-MM-DD')) "next day" FROM DUMMY;

--返回值:2010-1-1

ADD_YEARS--计算指定日期加指定年份。

SELECT ADD_YEARS (TO_DATE (CURRENT_DATE,'YYYY-MM-DD'), 1) "add years" FROM DUMMY;

--返回值:2018-7-5

ADD_MONTHS--计算指定日期加指定月后的日期

SELECT ADD_MONTHS (TO_DATE (CURRENT_DATE,'YYYY-MM-DD'), 1) "add months" FROM DUMMY;

--返回值:2017-8-5

ADD_DAYS--计算指定日期加指定天数后的日期

select add_days(to_date(current_date,'yyyy-mm-dd'),30) "ADD DAYS" from dummy;

--返回值:2017-8-4

ADD_SECONDS--计算指定时间加指定的秒数。

SELECT ADD_SECONDS (TO_TIMESTAMP ('2016-12-26 09:30:45'), 60*30) "addseconds" FROM DUMMY;
--返回值:2016-12-26 10:00:45.0

DAYS_BETWEEN--计算 d1 和 d2 之间的天数。

SELECT DAYS_BETWEEN(TO_DATE ('2009-12-05','YYYY-MM-DD'),TO_DATE('2010-01-05','YYYY-MM-DD')) "days_between" FROM DUMMY;
--返回值:31

SECONDS_BETWEEN--计算两个指定日期之间的秒数。

SELECT SECONDS_BETWEEN ('2009-12-05','2010-01-05') "seconds between" FROM DUMMY;
--返回值:2,678,400

NANO100_BETWEEN--计算两个日期之间的时间差。

SELECT NANO100_BETWEEN ('2013-01-30','2013-01-31')"nano100 between" FROM DUMMY;
--返回值:864,000,000,000

YEAR--返回指定日期的年份。

SELECT YEAR(TO_DATE ('2011-05-30','YYYY-MM-DD')) "year" FROM DUMMY;
--返回值:2,011

MONTH--返回指定日期的月份数。

SELECT MONTH('2011-05-30') "month" FROM DUMMY;
--返回值:5

HOUR--返回指定时间的小时的整数表示形式。

SELECT HOUR('12:34:56') "hour" FROM DUMMY;
--返回值:12

MINUTE--返回指定时间的分钟的整数表示。

SELECT MINUTE('12:34:56') "minute" FROM DUMMY;
--返回值:34

SECOND--返回给定时间的秒的值。

SELECT SECOND('2014-03-25 12:34:56.789') "subseconds" FROM DUMMY;
--返回值:56

MONTHNAME--返回指定日期的月份名称。

SELECT MONTHNAME('2011-05-30') "monthname" FROM DUMMY;
--返回值:MAY

DAYNAME--返回指定日期的工作日。

SELECT DAYNAME('2011-05-30') "dayname" FROM DUMMY;
--返回值:MONDAY

QUARTER--返回数字年和四分之一的日期。第一个季度开始于本月开始的一个月。如果没有指定,那么第一个季度将在1月份开始.

SELECT QUARTER(TO_DATE('2017-04-01','YYYY-MM-DD'), 2) "quarter" FROM DUMMY;
--返回值:2017-Q1

WEEK--返回指定日期的星期编号。

SELECT WEEK(TO_DATE('2011-05-30','YYYY-MM-DD')) "week" FROM DUMMY;
--返回值:23

WEEKDAY--返回指定日期的星期几。

SELECT WEEKDAY(TO_DATE ('2010-12-31','YYYY-MM-DD')) "week day" FROM DUMMY;
--返回值:4

DAYOFMONTH--返回指定日期的月份中的某一天。

SELECT DAYOFMONTH ('2011-05-30') "dayofmonth" FROM DUMMY;
--返回值:30

DAYOFYEAR--返回指定日期的年中某一天的整数表示形式。

SELECT DAYOFYEAR('2011-05-30') "dayofyear" FROM DUMMY;
--返回值:150

NOW--返回当前时间戳。

SELECT NOW () "now" FROM DUMMY;
--返回值:2017-7-6 10:45:50.867

CURRENT_TIMESTAMP--返回当前本地系统时间戳信息。

SELECT CURRENT_TIMESTAMP "current timestamp" FROM DUMMY;
--返回值:2017-7-5 18:08:48.12

CURRENT_UTCTIMESTAMP--返回当前 UTC 时间戳。

SELECT CURRENT_UTCTIMESTAMP "Coordinated Universal Timestamp" FROM DUMMY;
--返回值:2017-7-5 10:09:44.238

CURRENT_UTCDATE--返回当前的 UTC 日期。

SELECT CURRENT_UTCDATE "Coordinated Universal Date" FROM DUMMY;
--返回值:2017-7-5

CURRENT_UTCTIME--返回当前 UTC 时间。

SELECT CURRENT_UTCTIME "Coordinated Universal Time" FROM DUMMY;
--返回值:10:09:28
posted @ 2022-12-14 09:46  致力于工作  阅读(1461)  评论(0)    收藏  举报