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

浙公网安备 33010602011771号