设为首页 收藏本站
查看: 787|回复: 0

[经验分享] SQL函数和可编程性

[复制链接]

尚未签到

发表于 2018-10-19 11:31:30 | 显示全部楼层 |阅读模式
  http://blog.163.com/guiguixyz@126/blog/static/65031961201443105440279/
  函数
  {
  字符串函数
  {
  len():获取字符串长度
  upper():转为大写字符
  lower():转为小写字符
  ltrim():去掉左端空格
  rtrim():去掉右端空格
  left():从左端开始截取指定长度子串
  right():从右端开始截取指定长度子串
  substring()
  {
  截取从指定位置开始的指定长度的子串
  首位字符索引为1
  索引可以为负,表示首字符之前的某位
  }
  }
  abs():求数值的绝对值
  ceiling():数值向上取整
  datalength():计算数据占用的字节数
  日期函数
  {
  getdate():获取当前日期
  sysdatetime():获取高精度时间
  dateadd(时间增加部分,时间增加量,基础时间):获取增加后的时间
  datediff(时间相减部分,减数,被减数):计算两时间之差
  datepart(日期部分,源日期):获取日期某部分的值,返回数值类型
  datename(日期部分,源日期):获取日期某部分的值,返回字符串
  简写
  {
  year(源日期):年
  month(源日期):月
  day(源日期):日
  }
  }
  类型转换函数
  {
  cast(expression as datatype)
  convert(datatype, expression[, style])
  }
  }
  编程基础
  {
  局部变量
  {
  声明:declare @XXX 类型, @XXX 类型
  赋值
  {
  set 变量=值 (查询子句返回多值时报错)
  或
  select 变量=值 (查询子句返回多值时赋最后一个值)
  }
  不赋值时变量值为NULL
  }
  全局变量
  {
  声明:@@XXX
  一般为系统变量 (系统变量不可更改)
  }
  case
  {
  写法一
  {
  case
  when XX  then XX
  when XX  then XX
  else XX
  end
  }
  写法二
  {
  case XX
  when X then XX
  when X then XX
  else XX
  end
  此种写法只能判断等值
  }
  then后数据类型必须一致
  一般用于选择性显示列值
  }
  while
  {
  declare @i int=1
  while @i可编程性->存储过程
  }
  }
  触发器(trigger)
  {
  语法
  {
  create trigger 触发器名 on 表名
  after(for)/instead of [insert][,delete][,update]
  as
  begin
  XXX
  end
  触发器中可以使用rollback和commit
  不能向触发器传递参数
  不能手动调用触发器 (事件触发时由系统自动调用)
  }
  触发器种类
  {
  After触发器:语句执行完毕后触发
  Instead of触发器:语句执行前进行替换操作
  }
  inserted和deleted表
  {
  inserted表:临时存放插入的数据
  deleted表:临时存放删除的数据
  更新操作:同时使用inserted表和deleted表
  }
  触发器是一种特殊的存储过程
  一条SQL语句只触发一次语句级触发器
  尽量避免使用触发器
  尽量避免在触发器中进行复杂耗时的操作
  }


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-623591-1-1.html 上篇帖子: How to Setup Symfony 4 on Debian 9 Server-Arnold 下篇帖子: SQL自定义函数function-Ricky
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表