Oracle

Oracle

CONCAT

连接两个字符串
select concat('010-','88888888') 电话 from dual;
select '010-'||'88888888' 电话 from dual;

output: 010-88888888

LENGTH

返回字符串的长度;
SQL> select length(name) from table

  

SUBSTR(string,start,count)

取子字符串,从start开始,取count个
SQL> select substr('13088888888',3,8) from dual;

output: 08888888

REPLACE('string','s1','s2')

 

string   希望被替换的字符或变量
s1       被替换的字符串
s2       要替换的字符串
SQL> select replace('he love you','he','i') from dual;

Output: i love you

 

  

TO_CHAR(date,'format')

将ORACLE中的一个日期转化为字符串
SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;

SQL> 2004/05/09 21:14:41

 TO_DATE(string,'format')

将字符串转化为ORACLE中的一个日期
SQL> select to_date('2021/06/29 22:38:22','yyyy/mm/dd hh24:mi:ss') from dual;

SQL> 29-JUN-21

TO_NUMBER

 

将给出的字符转换为数字
SQL> select to_number('1999') year from dual;
SQL> 1999

 

特殊格式的日期型函数

Y或YY或YYY 年的最后一位,两位,三位   SELECT TO_CHAR(SYSDATE,'YYY') FROM dual;

Q 季度,1-3月为第一季度           SELECT TO_CHAR(SYSDATE,'Q') FROM dual;

MM  月份数                SELECT TO_CHAR(SYSDATE,'MM') FROM dual;

RM 月份的罗马表示                 SELECT TO_CHAR(SYSDATE,'RM') FROM dual; 

month 用9个字符表示的月份名            SELECT TO_CHAR(SYSDATE,'month') FROM dual;

ww 当年第几周                  SELECT TO_CHAR(SYSDATE,'ww') FROM dual;

w 本月第几周                  SELECT TO_CHAR(SYSDATE,'w') FROM dual;

DDD 当年第几天,一月一日为001 ,二月一日032   SELECT TO_CHAR(SYSDATE,'DDD') FROM dual;

DD 当月第几天                 SELECT TO_CHAR(SYSDATE,'DD') FROM dual;

D 周内第几天                   SELECT TO_CHAR(SYSDATE,'D') FROM dual; 如 sunday

DY 周内第几天缩写                 SELECT TO_CHAR(SYSDATE,'DY') FROM dual; 如 sun

hh12 12小时制小时数               SELECT TO_CHAR(SYSDATE,'hh12') FROM dual;

hh24 24小时制小时数               SELECT TO_CHAR(SYSDATE,'hh24') FROM dual;

Mi 分钟数                     SELECT TO_CHAR(SYSDATE,'Mi') FROM dual;

ss 秒数                      SELECT TO_CHAR(SYSDATE,'ss') FROM dual;

 

Practice

select * from table where to_number(to_char(last_maintained_date,'yyyyMM')) >= '202105' and to_number(to_char(last_maint_tstamp,'yyyyMM')) <= '202106'

  

GROUP BY

select product_category, count(*) from production_table group by Product_category

HAVING

select PRODUCT_CATEGORY, count(*) from PRODUCTION_TABLE group by PRODUCT_CATEGORY having count(*)>600

  

 

 

 

 

 

 

 



 





  

 

posted @ 2021-06-24 08:23  A-P-I  阅读(40)  评论(0)    收藏  举报