sql语句函数

四舍五入 
select ROUND(1.01,1)  结果1.00
计算字符串的长度
select LEN('Hello王') 结果6
计算字符串字节:中文占两个字节
select LENGTH('Hello王') 结果7
转大小写
LOWER(),UPPER()
截取字符串:
RIGHT(‘abc’,2) 结果bc
LEFT(‘abcd’,2) 结果ab
字符串左.右侧的空格去掉
LTRIM(),RTRIM()
截取字符串:从1开始
SUBSTRING(string,start_positon,length)
select SUBSTRING('abcdef111',2,3) 结果:bcd
获取当时时间:
select GETDATE()
计算增加以后的日期:
DATEADD(datepart,number,date) datepart为年月日,number为时间差,date为基础时间
select DATEADD(YEAR,3,GETDATE()) 结果:在现在时间上增加三年,如果减三年则为-3
select GETDATE()+3  结果:加三天
求时间差:
DATEDIFF(datepart,startdate,enddate)
select DATEDIFF(YEAR,GETDATE(),‘2014-08-08’)
获取日期的特定部分:
select DATEPART(YEAR,GETDATE())
例子:选取一个表中汇总统计同年入职的员工个数
SELECT DATEPART(YEAR,FinDate),count(*)from T_Employee group by DatePart(Year,FinDate)
cast要转换的值as要转换的类型
select CAST(right(‘fadf232011-08-09’,10)as datetime)
替换null值的函数:
isnull(fname,‘未名’)
select isnull(fname,'未名')from T_Employee
case函数:
select fage,case fage
            when 29 then '高龄'
            when 27 then'正当壮年'
            else '乳臭未干'
        end
from t_employee
或者  限制字段范围
select fage,case
            when fage>=29 then'高龄'
            when fage<27 then'小孩'
            else '乳臭未干'
         end
from t_employee
联合查询
select* from book b,Category c
where b.b_cid=c.c_id
内连接 inner join
select c.c_name,b.* from book b inner join category c
on b.b_cid=c.c_id
select *from category c right join book b
on b.b_cid=c.c_id
左外连接(左链接)以保证左表数据全部显示为核心目标
select *from category c left outer join book b
on b.b_cid=c.c_id
右外连接(右链接)以保证右表数据全部显示为核心目标
select *from category c right outer join book b
on b.b_cid=c.c_id
全连接,保证左右两个表的数据全部显示出来
select* from category c full join book b
on b.b_cid=c.c_id

时间: 2024-11-29 04:09:25

sql语句函数的相关文章

LINQ to SQL语句(21)之用户定义函数

用户定义函数 我们可以在LINQ to SQL中使用用户定义函数.只要把 用户定义函数拖到O/R设计器中,LINQ to SQL自动使用FunctionAttribute属性 和ParameterAttribute属性(如果需要)将其函数指定为方法.这时,我们只需 简单调用即可. 在这里注意:使用用户定义函数的时候必须满足以下形 式之一,否则会出现InvalidOperationException异常情况. 具有正确映 射属性的方法调用的函数.这里使用FunctionAttribute属性和 P

LINQ体验(15)——LINQ to SQL语句之用户定义函数

用户定义函数 我们可以在LINQ to SQL中使用用户定义函数.只要把用户 定义函数拖到O/R设计器中,LINQ to SQL自动使用FunctionAttribute属性和 ParameterAttribute属性(如果需要)将其函数指定为方法.这时,我们只需简 单调用即可. 在这里注意:使用用户定义函数的时候必须满足以下形式 之一,否则会出现InvalidOperationException异常情况. 具有正确映射 属性的方法调用的函数.这里使用FunctionAttribute属性和 P

PHP+Mysql实现多关键字与多字段生成SQL语句的函数_php技巧

本文实例讲述了PHP+Mysql实现多关键字与多字段生成SQL语句的函数的方法.分享给大家供大家参考.具体实现方法如下: 先看实例: 复制代码 代码如下: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: 复制代码 代码如下: SELECT * FROM `enter_gongyin_pic

asp中sql语句生成自定义函数

 代码如下 复制代码 <% class SQLString '************************************ '变量定义 '************************************ 'sTableName ---- 表名 'iSQLType ----SQL语句类型:0-增加,1-更新,2-删除,3-查询 'sWhere ---- 条件 'sOrder ---- 排序方式 'sSQL ----值 Private sTableName,iSQLType,sW

sql语句多表查询中聚合函数的使用问题

问题描述 sql语句多表查询中聚合函数的使用问题 表A,B,C. A表中有title,code, b表中为code,media_code;(均不为主键,code会有重复) c表中有media_code,shrink (media_code为主键) 我的目的为取出A表中的title和c表中的shrink 联立:A.code→B.code, B.media_code→C.media_code 代码如下 select title,shrink from tableA,tableC where medi

一句 sql语句,关于charindex函数用法的

问题描述 t1id字段1user--grant1A1,2,3,42B2,33C2,44D1,45E1,3,4t2id字段1字段21Aa2Bb3Cc4Dd5Eeuser--grant是varchar类型,是t2表的ID号现在我将以user--grant的值来查询t2表对应id的记录请问如何写sql语句 解决方案 解决方案二:不用分割,你试试select*fromt2whereidin(selectuser-grantfromt1whereid='1')这样应该可以把t2中符合t1中id为1的纪录的

PHP 函数,文件,sql 语句优化方法

.在可以用file_get_contents替代file.fopen.feof.fgets等系列方法的情况下,尽量用file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个url文件时候的php教程版本问题: <?php echo file_get_contents("test.txt"); ?> file_get_contents() 函数把整个文件读入一个字符串中. 和 file() 一样,不同的是 file_get

求问sql语句如何在添加中使用聚合函数

问题描述 求问sql语句如何在添加中使用聚合函数 设1表中有A.B两列,我想添加一组数据(c,d)进去(并没有C的值),其中c=A列最大值+1, 如何写sql语句? Ps.我知道如果只添加C可以这么写: insert into 1(A) select max(A)+1 from 1; 但是我想同时将数据d添加进去 解决方案 其实你已经知道方法了. insert into 1(A,B) select max(A),d from test; 在这里d要是一个常量值或者是test表的字段: 解决方案二

sql语句截取字符串函数

sql语句截取字符串函数 sql截取一段字符串并对该字符串进行替换的方法. 使用sql replace replace 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 replace ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' ) 参数 ''string_replace1'' 待搜索的字符串表达式.string_replace1 可以是字符数据或二进制数据. ''string_