SQL案例

来源:互联网 发布:php软件站源码 编辑:程序博客网 时间:2024/04/28 21:08

 

数据升序,降序:

select * from Person1

where age >20 order by Number asc ,age asc;

 

数据分组(group by):

select nickname,COUNT(*) from Person1 group by NickName;

 

取出分组中总数大于1的字段的数量:

select age,count(*) from Person1 group by age Having Count(*) > 1;

//having是对分组后信息的过滤,能用的列和select中能用的列是一样,having无法代替where.

 

修改表,增加字段:

ALTER TABLE T_Employee ADD FSubCompany VARCHAR(20);

 

消除重复的数据:(distinct 针对全部字段重复)

SELECT distinct FDepartment FROM T_Employee;

 

把两个查询结果组合成一个查询结果:(union)(默认把重复数据去掉,如果不想去掉,在union后面加all)

select FName,FAge from T_TempEmployee

union

select FName,FAge from T_Employee

 

union案例:

select 'Person1最高年龄',MAX(age) from Person1

union all

select 'Person1最低年龄',MIN(age) from Person1

union all

select 'Person2最高年龄',MAX(age) from Person2

union all

select 'Person2最低年龄',MIN(age) from Person2

 

数据库内置函数:

ABS():求绝对值

CEILING():舍入到最大整数.如3.33将被舍入为4,-3.33将被舍入为-3

FLOOR():舍入到最小整数.如3.33将被舍入为3,-3.33将被舍入为-4

ROUND():四舍五入

LEN():计算字符串长度

LOWER()、UPPER():转小写、大写

LTRIM():字符串左侧的空格去掉

RTRIM():字符串右侧的空格去掉

 

SUBSTRING(string,start_position,lenght):

参数string为主字符串,start_position为子字符串,

在主字符串中的起始位置,lenght为子字符串的最大

长度.SELECT SUBSTRING('abcdefg111',2,3)

 

日期函数:

GETDATE():取得当前日期时间

DATEADD(datepart,number,date),计算增加以后的日期.参数date为

待计算的日期:参数date为增量;参数datepart为计量单位,可选值见

备注.DATEADD(DAY,3,date)为计算日期date的3天后的日期,而

DATEADD(MONTH,-8,date)为计算日期date的8个月之前的日期

 

DATEDIFF(datepart,startdate,enddate):计算两个日期之间的差额.

datepart为计量单位,可取值参考DateAdd

 

DATEPART(datepart,date):返回一个日期的待定部分

 

类型转换函数:

CAST(expression AS date_type)  //select cast('123' as int)

CONVERT(date_type,expression)  //convert(datetime,'2009-09-09')

SELECT FldNumber

RIGHT(FldNumber,3) as 后三位

CAST(RIGHT(FldNumber,3) AS INTEGER) as 后三位的整数形式

CAST(RIGHT(FldNumber,3) AS INTEGER)+1 as 后三位加1

CONVERT(INTEGER,RIGHT(FldNumber,3))/2 as 后三位除以2

FROM T_Person

 

ISNULL函数:

select ISNULL(FName = '佚名') as 姓名 from T_Employee

 

case案例:

select FName,

(

case FLevel

when 1 then '普通客户'

when 2 then '会员'

when 3 then 'VIP客户'

else '未知客户类型'

end

) as 客户类型

from t_customer

 

原创粉丝点击