




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL Server 字符串处理函数大全字符串处理函数大全 select 语句中只能使用 sql 函数对字段进行操作 链接 sql server select 字段 1 from 表 1 where 字段 1 IndexOf 云 1 这条语句不对的原因是 indexof 函数不是 sql 函数 改成 sql 对应的函数就可以了 left 是 sql 函数 select 字段 1 from 表 1 where charindex 云 字段 1 1 字符串函数对二进制数据 字 符串和表达式执行不同的运算 此类函数作用于 CHAR VARCHAR BINARY 和 VARBINARY 数据类型以及可以隐式转换为 CHAR 或 VARCHAR 的数据类型 可以在 SELECT 语句的 SELECT 和 WHERE 子句以及表达式中使用字符串函数 常用的字符串函数有 一 字符转换函数 1 ASCII 返回字符表达式最左端字符的 ASCII 码值 在 ASCII 函数中 纯数字的字符串可不用 括起来 但含其它字符的字符串必须用 括起来使用 否则会出错 2 CHAR 将 ASCII 码转换为字符 如果没有输入 0 255 之间的 ASCII 码值 CHAR 返回 NULL 3 LOWER 和 UPPER LOWER 将字符串全部转为小写 UPPER 将字符串全部转为大写 4 STR 把数值型数据转换为字符型数据 STR length length 指定返回的字符串的长度 decimal 指定返回的小数位数 如果没有指定长度 缺 省的 length 值为 10 decimal 缺省值为 0 当 length 或者 decimal 为负值时 返回 NULL 当 length 小于小数点左边 包括符号位 的位数时 返回 length 个 先服从 length 再取 decimal 当返回的字符串位数小于 length 左边补足空格 二 去空格函数 1 LTRIM 把字符串头部的空格去掉 2 RTRIM 把字符串尾部的空格去掉 三 取子串函数 1 left LEFT 返回 character expression 左起 integer expression 个字符 2 RIGHT RIGHT 返回 character expression 右起 integer expression 个字符 3 SUBSTRING SUBSTRING length 返回从字符串左边第 starting position 个字符起 length 个字符的部分 四 字符串比较函数 1 CHARINDEX 返回字符串中某个指定的子串出现的开始位置 CHARINDEX 其中 substring expression 是所要查找的字符表达式 expression 可为字符串也可为列 名表达式 如果没有发现子串 则返回 0 值 此函数不能用于 TEXT 和 IMAGE 数据类型 2 PATINDEX 返回字符串中某个指定的子串出现的开始位置 PATINDEX 其中子串表达式前后必须 有百分号 否则返回值为 0 与 CHARINDEX 函数不同的是 PATINDEX 函数的子串中可以使用通配符 且此函数可 用于 CHAR VARCHAR 和 TEXT 数据类型 五 字符串操作函数 1 QUOTENAME 返回被特定字符括起来的字符串 QUOTENAME quote character 其中 quote character 标明括字符串所用的字符 缺省值为 2 REPLICATE 返回一个重复 character expression 指定次数的字符串 REPLICATE character expression integer expression 如果 integer expression 值为负 值 则返回 NULL 3 REVERSE 将指定的字符串的字符排列顺序颠倒 REVERSE 其中 character expression 可以是字符串 常数或 一个列的值 4 REPLACE 返回被替换了指定子串的字符串 REPLACE 用 string expression3 替换在 string expression1 中的子串 string expression2 4 SPACE 返回一个有指定长度的空白字符串 SPACE 如果 integer expression 值为负值 则返回 NULL 5 STUFF 用另一子串替换字符串指定位置 长度的子串 STUFF 如果起始位置为负或长度值为负 或者起始位置大于 character expression1 的长度 则 返回 NULL 值 如果 length 长度大于 character expression1 中 start position 以右的长度 则 character expression1 只保留首字符 六 数据类型转换函数 1 CAST CAST AS length 2 CONVERT CONVERT length style 1 data type 为 SQL Server 系统定义的数据类型 用户自定义的数据类型不能在此使用 2 length 用于指定数据的长度 缺省值为 30 3 把 CHAR 或 VARCHAR 类型转换为诸如 INT 或 SAMLLINT 这样的 INTEGER 类型 结果必须是带正号或负号的数值 4 TEXT 类型到 CHAR 或 VARCHAR 类型转换最多为 8000 个字符 即 CHAR 或 VARCHAR 数据类型是最大长度 5 IMAGE 类型存储的数据转换到 BINARY 或 VARBINARY 类型 最多为 8000 个字符 6 把整数值转换为 MONEY 或 SMALLMONEY 类型 按定义的国家的货币单位来处理 如人民币 美元 英镑等 7 BIT 类型的转换把非零值转换为 1 并仍以 BIT 类型存储 8 试图转换到不同长度的数据类型 会截短转换值并在转换值后显示 以标识发生了 这种截断 9 用 CONVERT 函数的 style 选项能以不同的格式显示日期和时间 style 是将 DATATIME 和 SMALLDATETIME 数据转换为字符串时所选用的由 SQL Server 系统提 供的转换样式编号 不同的样式编号有不同的输出格式 七 日期函数 1 day date expression 返回 date expression 中的日期值 2 month date expression 返回 date expression 中的月份值 3 year date expression 返回 date expression 中的年份值 4 DATEADD DATEADD 返回指定日期 date 加上指定的额外日期间隔 number 产生的新日期 5 DATEDIFF DATEDIFF 返回两个指定日期在 datepart 方面的不同之处 即 date2 超过 date1 的差距值 其结果 值是一个带有正负号的整数值 6 DATENAME DATENAME 以字符串的形式返回日期的指定部分此部分 由 datepart 来指定 7 DATEPART DATEPART 以整数值的形式返回日期的指定部分 此部分由 datepart 来指定 DATEPART dd date 等同于 DAY date DATEPART mm date 等同于 MONTH date DATEPART yy date 等同于 YEAR date 8 GETDATE 以 DATETIME 的缺省格式返回系统当前的日期和时间 聚合函数 use pubs go select avg distinct price 算平均数 from titles where type business go use pubs go select max ytd sales 最大数 from titles go use pubs go select min ytd sales 最小数 from titles go use pubs go select type sum price sum advance 求和 from titles group by type order by type go use pubs go select count distinct city 求个数 from authors go use pubs go select stdev royalty 返回给定表达式中所有值的统计标准偏差 from titles go use pubs go select stdevp royalty 返回表达式中所有制的填充统计标准偏差 from titles go use pubs go select var royalty 返回所有值的统计方差 from titles go use pubs go select varp royalty 返回所有值的填充的统计方差 from titles go 数学函数 select sin 23 45 atan 1 234 rand PI sign 2 34 其中 rand 是获得一个随机数 配置函数 SELECT VERSION 获取当前数据库版本 SELECT LANGUAGE 当前语言 时间函数 select getdate as wawa getdate 当前时间 select getutcdate as wawa getutcdate 获取 utc 时间 select day getdate as wawa day 取出天 select month getdate as wawa month 取出月 select year getdate as wawa year 取出年 select dateadd d 3 getdate as wawa dateadd 加三天 注意 d 表示天 m 表示月 yy 表 示年 下面一样 select datediff d 2004 07 01 2004 07 15 as wawa datediff 计算两个时间的差 select datename d 2004 07 15 as wawa datename 取出时间的某一部分 select datepart d getdate as wawa datepart 取出时间的某一部分 和上面的那个差 不多 字符串函数 select ascii 123 as 123 ascii 123 as 123 ascii abc as abc 转换成 ascii 码 select char 123 char 321 char 123 根据 ascii 转换成字符 select lower ABC lower Abc upper Abc upper abc 转换大小写 select str 123 45 6 1 str 123 45 2 2 把数值转换成字符串 select ltrim 左边没有空格 去空格 select rtrim 右边没有空格 去空格 select ltrim rtrim 左右都没有空格 去空格 select left sql server 3 right sql server 6 取左或者取右 use pubs select au lname substring au fname 1 1 取子串 from authors order by au lname select charindex 123 abc123def 2 返回字符串中指定表达式的起始位置 select patindex 123 abc123def patindex 123 abc123def 返回表达式中某模式 第一次出现的起始位置 select quotename abc quotename abc 返回由指定字符扩住的字符串 select reverse abc reverse 上海 颠倒字符串顺序 select replace abcdefghicde cde xxxx 返回呗替换了指定子串的字符串 select space 5 space 2 系统函数 select host name as host name host id as host id user name as user name u ser id as user id db name as db name 变量的定义使用 声明局部变量 declare mycounter int declare last name varchar 30 fname varchar 20 state varchar 2 一下声明 多个变量 给变量赋值 use northwind go declare firstnamevariable varchar 20 regionvariable varchar 30 set firstnamevariable anne 可以用 set 也可以用 select 给变量赋值 微软推荐用 set 但 select 在选择一个值直接赋值时很有用 set regionvariable wa select lastname firstname title 用声明并赋值过的变量构建一个 Select 语句并查询 from employees where firstname firstnamevariable or region regionvariable go 全局变量 select version 返回数据库版本 select error 返回最后的一次脚本错误 select identity 返回最后的一个自动增长列的 id while break continue 的使用 首先计算所有数的平均价格 如果低于 30 的话进入循环让所有的 price 翻倍 里面又有个 if 来判断如果最大的单价还大于 50 的话 退出循环 否则继续循环 知道最大 单价大于 50 就 break 出循环 呵呵 我分析的应该对吧 use pubs go while select avg price from titles 50 break else continue end print too much for the marker to bear 事务编程经典例子 begin transaction 是开始事务 commit transaction 是提交事务 rollback transaction 是回 滚事务 这个例子是先插入一条记录 如果出现错误的话就回滚事务 也就是取消 并直接 return 返 回 如果没错的话就 commit 提交这个事务了哦 上面的那个 return 返回可以返回一个整数值 如果这个值是 0 的话就是执行的时候没出 错 如果出错了就是一个负数 这个 return 也可以用在存储过程中 可用用 exec return status pro name 来获取这 个值 use pubs go begin tran mytran insert into stores stor id stor name values 333 my books go insert into discounts discounttype stor id discount values 清仓甩卖
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司月末会活动策划方案
- 公司茶会活动方案
- 公司春游游戏活动方案
- 公司播放电影策划方案
- 公司组织境外团建活动方案
- 公司组织午间运动活动方案
- 公司竞走活动方案
- 公司联欢晚会策划方案
- 2025年游戏设计师职业资格考试试卷及答案
- 2025年智能制造工程师考试试卷及答案
- 好老师是民族的希望
- 项目建设审批流程课件
- 2024高海拔地区模块化增压式建筑技术标准
- 零碳建筑评价标准
- 烹饪面点职业生涯规划书
- 低碳新型材料项目建议书
- 设计授权委托书
- 长安逸动说明书
- Book-1-Unit-3-going-positive教学设计文档
- 常用护理评估工具-产科VTE风险评估
- 新版中国成人急性髓系白血病(非急性早幼粒细胞白血病)诊疗指南
评论
0/150
提交评论