SQL 日常开发笔记(持续更新)

SQL     CHARINDEX

SQL     在2008的更新中,我最喜欢的是MERGE,2012中就是OFFSET了。

SQL     2012新的分页特性OFFSET: orde by aa offset 10 and 20

SQL     模糊查询 匹配后面有数字的

select * from users where username like 'zhangqian[0-9]'

SQL     函数不单单可以缓存写好的SQL语句,貌似还缓存读取出的数据(SheetHaveRece)

SQL     中参数为output时,会自动先返回标识指给主键,在执行添加

SQL     函数ISNUMERIC(exps),判断是否为数字,是 =1 否=0

SQL     datediff(day,@StartTime,@EndTime),

SQL     DateName(YEAR,StartDate) 获取日期的 年

SQL     datepart(DAYOFYEAR,getdate()) 获取日期的某一部分 当前是获取今年的第几天

SQL     Group By 第一排序字段,第二排序字段

SQL    SubString (exp,start,end)字符串截取

SQL     select right(字段,长度)从右侧开始获取N位

SQL     isnumeric(字段) = 1 是否数字判断

SQL     inner join [只取相同的数据]

     left join [左表为主]

     right join [右表为主]

SQL     查询的数据到参数中,用 is not null 来判断 IF(@PasswordWithIn IS NOT NULL)

SQL :    索引的建立-->在 "表" 下 找到"索引"分支 右键,新建添加聚集索引或非聚集索引

SQL     列数据合并:

select CT.*,STUFF((select ',' + f.Name from F_Product f where f.ID=CT.TmpId for xml path('')),1,1,'') AS Name from CT

SQL     case when 的用法:

update OrderPay set NoPayMoney=(case when (@PayMoney>=AllMoney) then 0 else (@PayMoney-AllMoney) end) where OrderId=@OrderId

SQL     SQL 2012的OFFSET分页方式

SQL     count(*)可以忽略Null来进行统计

SQL     日期转换的神奇用法

 print Convert(VARCHAR(10), GETDATE(), 2 )==13.03.12 --简写日期



print Convert(VARCHAR(10), GETDATE(),110)==03-12-2013 --获取的日期



 print Convert(VARCHAR(10), GETDATE(),111)==2013-03-12



 print Convert(VARCHAR(10), GETDATE(),112)==20130312



 print Convert(VARCHAR(10), GETDATE(),114)==15:26:54:4 --获取的时分秒

 SQL     一条查询语句 进行不同条件 统计:用sql按性别统计男生、女生人数

select sum(case 性别 when 1 then 1 else 0 end) 男生人数,sum(case 性别 when 0 then 1 else 0 end) 女生人数 from table



select count(1),sum(case sex when 1 then 1 else 0 end) from users

 SQL     强制删除数据库订阅:

sp_removedbreplication 'SERVICE_Test'

SQL     随机挑选10挑数据:

MySQL:order by rand() limit 10



ACCESS : order by rnd(id) --id为数据库的自动编号字段



SQL Server : order by newid()

 

你可能感兴趣的:(sql)