MySQL中单行函数concat_学习SQL 的笔记 第四章 单行函数

学习SQL 的笔记 第四章 单行函数

最近几天比较忙,终于把第四章看完了!

单行函数

函数名  [(参数 1,参数 2,参数 3,…)]

参数: 用户定义的常量

变量

列名

表达式

单行函数可以在以下子句中

select

where

order by

单行函数可以嵌套

类型包括: 字符型  数字型  日期型  转换型  一般型

常用的字符型函数:

lower

upper

initcap

concat

substr

length

instr

trim

replace

LOWER(列名|表达式):该函数是把字符转换成小写。

select lower('SQL: Structural Query Language')

from dual;   (dual是虚伪表)

UPPER(列名|表达式):该函数是把字符转换成大写。

select upper ('sql is used exclusively in rdbmser')

from dual;

INITCAP(列名|表达式):该函数是把每个字的头一个字符转换成大写,其余的转换成小写。

select initcap ('SQL is an ENGLISH LIKE language')

from dual;

CONCAT(列名|表达式,列名|表达式):该函数是把头一个字符串和第二个字符串连接成一个字符串。

SELECT CONCAT('SQL allows you to manipulate the data in DB',

'without any programming knowledge')

FROM dual;

SUBSTR(列名|表达式,m,[ n ]):该函数是返回指定的子串。该子串是从第 m 个字符开始,其长度为 n。

select substr('SQL lets you concentrate on what has to be done',14)

from dual;  (这省略了n,意思是从第14个字符到末尾)

LENGTH(列名|表达式):该函数是返回列中或表达式中字符串的长度。

select length('SQL does not let you concentrate on how it will be achieved')

from dual;

INSTR(列名|表达式,‘字符串’,[m], [n]):该函数是返回所给字符串的数字位置,

m 表示从第 m 个字符开始搜索,n 表示所给字符串出现的次数,它们的默认值都为 1。

select instr('SQL allows for dynamic DB changes','f')

from dual;

注:字符串是区分大小写的

SQL 结构化的查询语言

SQL 仅适用于关系型数据库管理系统

SQL 是一种与英语相似的语言

SQL 允许您在不具备任何程序设计知识的情况下操纵数据库中的数据

SQL 让您把精力集中在必须要做的事情上

SQL 不让您把精力集中在您如何去做这件事情上

SQL 允许动态地改变数据库

TRIM([leading|trailing| both]要去掉的字符  FROM  源字符串):

该函数能够从“源字符串”中的头(leading)部,或尾(trailing)部,

或从头(leading)部和尾(trailing)部(both)中去掉“要去掉的字符”。

REPLACE(正文表达式,要搜寻的字符串,替换字符串):

该函数是在“正文表达式”中查找“要搜寻的字符串”,如果找到了就用“替换字符串”替代。

SQL*PLUS 是 SQL 的一种实现,它用在 Oracle 的关系型数据库管理系统

或面向对象的关系型数据库管理系统中,它可以一次处理多行数据

SQL*PLUS 是一种第四代的查询语言

SQL*PLUS 不支持循环和判断(分支)语句

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

常用数字型函数

round

trunc

mod

ROUND(列名|表达式,  n):

该函数将列名或表达式所表示的数值四舍五入到小数点后的 n 位。

TRUNC(列名|表达式,  n):

该函数将列名或表达式所表示的数值截取到小数点后的 n 位。

MOD(m,n):

该函数将 m 除以 n 并取余数。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

日期型函数

sysdate 系统当前日期

日期型数据可以做 '+'、'-'运算,单位是日

TO_DATE 为一个 Oracle 提供的函数。它把字符串转换成日期型数据。

months_between

add_months

next_day

last_day

MONTHS_BETWEEN(日期 1,日期 2):

该函数是返回日期 1 和日期 2 之间的月数。如果日期 1 大于日期 2,其返回的月数为正。

如果日期 1 小于日期 2,其返回的月数为负。

ADD_MONTHS(日期,n):

该函数是把 n 个月加到日期上。

NEXT_DAY(日期,字符串):

该函数是返回下一个由字符串(星期几)指定的日期。

LAST_DAY(日期):

该函数是返回该日期所在月的最后一天。

select ename,hiredate,

last_day(hiredate),

next_day(hiredate,'sunday'),

months_between(sysdate,hiredate) "months",

add_months(hiredate,3) "review"

from emp;

注:如果您的操作系统和数据库都是中文系统的话,应该将SUNDAY 改为星期日

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

不同数据类型之间的隐含转换

赋值语句中数据类型之间的隐含转换(Oracle 自动转换):

将变长字符型(VARCHAR2)或定长字符型(CHAR)》》》》》数字型(NUMBER);

将变长字符型(VARCHAR2)或定长字符型(CHAR)》》》》》日期型(DATE);

将数字型(NUMBER)》》》》》变长字符型(VARCHAR2);

将日期型(DATE)》》》》》变长字符型(VARCHAR2)。 表达式中(Oracle 自动转换):

将变长字符型(VARCHAR2)或定长字符型(CHAR)》》》》》数字型(NUMBER);

将变长字符型(VARCHAR2)或定长字符型(CHAR)》》》》》日期型(DATE)。

在将字符类型的数据转换为数字型时,要保证字符型数据为有效的数。

在将字符类型的数据转换为日期型时,要保证字符型数据为有效的日期,否则转换不能成功。

数字型(NUMBER)的数据与日期型(DATE)的数据之间不能进行直接转换。

必须将其中的一种数据类型先》》》》》字符型,之后再将字符型》》》》》其中的另一种数据类型。

为了程序的可读性,建议用显示转换

to_char

to_number

to_date

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值