SQL函数

(一)数学函数

1.abs(x);

2.POWER(expression,power_raise_to);

3.SQRT(expression_to_square_root);   //平方根

4.rand();  //生成随机数,但是不保证生成的是唯一值

5.ceiling();   //向上舍入到临近的最大整数

   floor();    //像下舍入到临近的最小整数 

   round();   //舍入到最接近的整数

 

(二)字符串函数

1.substring(string,start_character_position,length_of_string_to_obtain);    //提取子字符串

 

2.upper(string),lower(string)     //将字符串转换为全部大写或者全部小写

select lastname upper(lastname),lower(lastname) from memberdetails;

 

3.reverse(string)        //字符串反转

select lastname,reverse(lastname) from memberdetails;

 

4.TRIM函数

LTRIM()和RTRIM()分别截去字符串左边及右边的空格。

 

5.length()函数

返回字符串的长度,不是返回字节的长度。 

create table name(
firstname nvarchar(50),
lastname nvarchar(50),
name varchar(50)
);

insert into name values(,,zhangsan张三);
select firstname,len(firstname) from name;
select lastname,len(lastname) from name;
select name,len(name) from name;

结果:

技术分享

技术分享
技术分享

补充char(n)、varchar(n)、nvarchar(n)的区别

  • 由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉! 所以有时候需要使用char的贮存空间以换得检索速度的提高。但有时则要使用varchar获取占用较低存储空间。
  • 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。

  • 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

eg:两字段分别有字段值:“我和coffee”

那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。

小原则:如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar。

eg:varchar(4) 可以输入4个字母,也可以输入两个汉字

nvarchar(4) 可以输四个汉字,也可以输4个字母,但最多四个。

 

6.soundex()函数和difference()函数

soundex()函数将字符串转换为一种特殊的4字符编码,该编码表示字符串发音的方式。

insert into name(firstname,lastname) values(Hello,kitty);
insert into name(firstname,lastname) values(Jone,William);
select firstname,SOUNDEX(firstname) as SOUND from name;

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。