因为最近的项目的存储过程都是由我做的,关于一些sql的语法以及心得记录一下:

1.首先是cast:

      CAST是将一种数据类型的表达式转换为另一种数据类型的表达式。
     语法     CAST (expression AS data_type [ (length ) ] )        功能分解步骤                 1.  CAST(id AS VARCHAR(20)) 将 id转换为类型 VARCHAR(20),若 CAST(2011 AS VARCHAR(20))转换结果为 '2011'
   如我想取今天生成的所有数据对于时间比对有三种方法:
    1.1 用cast:cast(getdate() as date)=cast(a.CreateTime as date)
    1.2 Month(getdate())=Month(a.CreateTime) and day(getdate())=day(a.CreateTime)
    1.3 convert(char(10),getdate(),120)=convert(char(10),a.CreateTime,120)
2.case,case when语法如何使用呢
  举例:
    select
case SuervyTitle.SuervyTypeId when 1 then '产品'
     else '未知' end
from SuervyTitle
   重点是:必须要有 End ,Else写不写都可以,如果不写esle不满足条件的会以null填充
3. Exists 对于Exists,不得不提In
   select * from Customer where OpenId in(select OpenId from JoinNumber)  这样一个子查询就很明显的阐述In可以
   有返回值的,但是Exists是没有的,Exists返回的是true或者false
   SELECT *
FROM [abbottdiabeteswechat].[dbo].[DD_CustomerAddress] DDC
where EXISTS(SELECT 1 FROM #D WHERE #D.OpenId=DDC.OpenId)
  这也是一个子查询机制,exists在表数据多的时候要比in快,因为exists可以用到索引,如果上例中子查询中的where条件后面   的字段带索引就会比in快 ,为什么会select 1 呢 就是不在乎返回什么只要查询的出来就可以,曾经我犯过一个错误
 IF exists(select count(1) from Customer) 因为count(1)如果没有值的话也会返回0,所以这个exists返回的就是真,if语句    会永远进去。注意注意!
4.sql 事务
 事务其实概念很简单 就是一起执行,中间出错就回滚,主要是写法笔者比较陌生,看了大神的代码又跟try糅合在一起

        BEGIN -- 首先外面先来个begin end
            begin try-- 然后放try
                  begin tran
                  commit
            end try
            begin catch--有try就有catch
                rollback--回滚
            end catch
        END
博客里又练了一遍写法嘻嘻
5.NEWID()
 这个NEWID()方法最近经常使用,是随机排序的作用,对于从数据库抽题后随机对题目和选项排序,很方便
 order by NEWID()

关于sql的一些学习心得相关推荐

  1. SQL模糊查询学习心得

    SQL模糊查询学习心得 在进行数据库查询时,有完整查询和模糊查询之分. 1. 一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四 ...

  2. SQL 注入(SQL Injection)学习心得

    提示:文章写完后,目录可以自动生成 目录 文章目录 前言 一.SQL 注入是什么? 二.SQL 注入攻击手法 1.联合查询注入 2.基于错误信息的注入 3.基于布尔的盲注 4.基于时间的盲注 三.注入 ...

  3. sql server 2005 学习心得(select查询语句用法)

    select * from userInfo where age like '2[25]' 功能:查询userInfo表中age字段,所有以2开头,且第二位是2或5的记录. select * from ...

  4. Java EE学习心得

    –Java EE学习心得   1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...

  5. 对于mysql存储过程感想_存储过程学习心得

    存储过程学习心得 (2014-12-28 17:28:06) 标签: it 我使用过几次SQL Server,但所有与数据库的交互都是通过应用程序的编码来实现的.我不知到在哪里使用存储过程,也不了解实 ...

  6. 我的MYSQL学习心得(十六) 优化

    原文:我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看 ...

  7. 我的MYSQL学习心得(4) : 数据类型

    我的MYSQL学习心得(1) :简单语法 我的MYSQL学习心得(2) :数据类型宽度 我的MYSQL学习心得(3) : 查看字段长度 MYSQL里的BLOB数据类型 BLOB是一个二进制大对象,用来 ...

  8. 分享云及人工智能的一些学习资源和学习心得

    很久没写新的东西了.这段时间除了适应新的工作,其他时间都献给了各种学习~ 在这个提倡终身学习的年代,面对急剧更新的IT行业,不学点云计算和人工智能啥的,总感觉会被时代抛弃. 所以,终于找到个空闲时间, ...

  9. 我的MYSQL学习心得(一)

    我的MYSQL学习心得(一) 原文:我的MYSQL学习心得(一) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL ...

最新文章

  1. 干货!这里有一份神经网络入门指导,请收下!
  2. 爱立信华为MWC展前叫阵:5G成重头戏
  3. java核心api_java核心API
  4. linux网络_防火墙-iptables基础
  5. [Redux/Mobx] Redux怎样设置初始状态?
  6. Vue.js 循环语句
  7. 解决li在ie,firefox中行高不一致问题
  8. 发现孩子做作业用计算机,儿童不宜长期使用计算器做作业
  9. Java的8大排序的基本思想及实例解读
  10. 多功能图片处理器微信小程序源码下载一键多种处理照片
  11. 23----JS基础-----Unicode编码表
  12. 日常笔记-snownlp情感分析计算情感得分
  13. Java项目的项目流程(快速了解)
  14. 【线性化】绝对值项的线性化
  15. Sql Sugar使用仓储实现增删改查
  16. 【考研英语语法】十大词性
  17. 双拼对简拼和混拼的支持
  18. sap crm行业解决方案_培训机构行业crm系统解决方案
  19. SEO优化 网站结构优化
  20. Clipper转换器使用示例

热门文章

  1. 自定义制作SpringBoot启动图案
  2. echarts饼图显示占比(内部和外部显示百分比设置)
  3. 2011贺岁片之——寒假计划
  4. Java中3大线程安全的map
  5. 什么是千兆光模块和万兆光模块?它们有什么区别?
  6. vuex-mapGetters使用案例解析
  7. 看我在项目里怎么用设计模式,这么学设计模式也太简单了!
  8. element如何修改内联样式
  9. python查看函数消耗的内存_如何查看内存占用和运行速度
  10. 【简七理财笔记】前四课