SQL从零到迅速精通【实用函数(3)】
阅读原文时间:2023年07月08日阅读:1

1.LOWER()函数

使用LOWER函数将字符串中所有字幕字符转换为小写,输入语句如下。

SELECT LOWER('BEAUTIFUL'),LOWER('Well');

2.UPPER()函数

SELECT UPPER('black'),UPPER('BlAck');

3.替换函数REPLACE(s,s1,s2)

REPLACE(s,s1,s2)使用字符串s2替代字符串s中所有的字符串s1.

SELECT REPLACE('xxx.sqlserver2012.com','x','w');

【感想:我突然觉得类似SQL的编程语言没有好好发展的原因可能是因为它缺少一种文化让程序员去热爱吧,比如hello,world】

4.数学函数

(1)绝对值ABS(x);

(2)圆周率PI();

(3)平方根SQRT(x);

(4)随机数函数RAND(x)【0到1之间】

若指定一个整数参数x,则它被用作种子值,使用相同的种子数将产生重复序列。如果用同一种子值多次调用RAND函数,它将返回同一生成值。

SELECT RAND(10),RAND(10),RAND(10);

【查找了一个清屏技巧:shift+delete】

(5)四舍五入函数ROUND(x,y)

select round(1.38,1),round(1.38,0),round(232.38,-1);  

(6)获取整数的函数CEILING(x)和FLOOR(x)

①CEILING(x)返回不小于x的最小整数值

SELECT CEILING (-3.35),CEILING(3.35);  

②FLOOR(x)返回不大于x的最大整数值

SELECT FLOOR(-3.35),FLOOR(3.35);

(7)幂运算函数POWER(x,y)、SQUARE(x)和EXP(x)

①POWER(x,y)返回x的y次乘方的结果值。

SELECT POWER(2,2),POWER(2.00,-2); 

②使用SQUARE函数进行平方运算

③使用EXP函数计算e的乘方

(8)对数运算函数LOG(x)和LOG10(x)

①LOG(x)返回x的自然对数,x相对于基数e的对数;

(9)角度与弧度相互转换的函数

①RADIANS(x)将参数x由角度转化为弧度

②DEGREES(x)将参数x由弧度转化为角度

(10)SIN(x)和反正弦函数ASIN(x)

(11)COS(x)和反预先函数ACOS(x)

(12)TAN(x)、COT(x)和ATAN(x)

5.文本和图像函数(TEXTPTR函数)

查询t1表中c2字段十六字节文本指针,输入语句如下。

首先创建数据表t1,c2字段为text类型,T-SQL代码如下:

CREATE TABLE t1(c1 int, c2 text)

INSERT t1 VALUES ('1','This is text.')

使用TEXTPTR查询t1表中c2字段的十六字节文本指针。

SELECT c1,TEXTPTR(c2) FROM t1 WHERE c1 = 1

6.返回表中指定字段的长度值【COL_LENGTH(table,column)】

显示test_db数据库中stu_info表中的s_name字段长度,输入语句如下:

USE test_db

SELECT COL_LENGTH('stu_info‘,‘s_name’);

7 .返回表中指定字段的名称【COL_NAME(table_id,column_id)】

显示test_db数据库中stu_info表中的第一个字段的名称,输入语句如下。

SELECT COL_NAME(OBJECT_ID('test_db.dbo.stu_info'),1);

8.返回数据表达式的数据的实际长度DATALENGTH()

查找stu_info表中s_score字段的长度,输入语句如下。

USE test_db;

SELECT DATALENGTH(s_name) FROM stu_info WHERE s_id=1;

9.返回服务器端计算机的标识号

SELECT HOST_ID();

10.返回服务器端计算机的名称

SELECT HOST_NAME();

11.返回数据库用户的标识号

SELECT USER_ID();

12.返回数据库用户名

SELECT USER_NAME();