TSQL基础(三)
字符处理函数
sql中常见的字符类型有:
char(n) --长度固定 不可变 非Unicode 字符数据 n 必须是一个介于 1 和 8,000 之间的数值
nchar(n) --长度固定 不可变 Unicode 字符数据 n 的值必须介于 1 与 4,000 之间,字节的存储大小是所输入字符个数的两倍。
varchar(n) --长度可变 非Unicode 字符数据 n 必须是一个介于 1 和 8,000 之间的数值
nvarchar(n) -- 长度可变 Unicode 字符数据 n 的值必须介于 1 与 4,000 之间,字节的存储大小是所输入字符个数的两倍。
substring(expression,start,length) 从start开始截取length长度的字符串,下标从1开始
select substring(Sname,0,1) as '从0开始取1个字符',substring(Sname,1,1) '从1开始取1个字符',* from Student
left(expression,length)从左边开始截取length个长度的字符串, right(expression,length)从右边开始截取length个长度的字符串
select left(Sname,1) '从左边开始取1个字符',right(Sname,1) as '从右边开始取1个字符',* from Student
len(string)返回字符串长度,长度不包含尾部空格, datalength(string)返回字符串长度,长度包含尾部空格
print len(' 1234 5678 ')
print datalength(' 1234 5678 ')
charindex(string,expression)获取和string相同字符串的位置
print charindex('',' 1234 5678 ')
replace(expression,stirng_pattern,string_replacement) 查找的子字符串stirng_pattern,替换成字符串string_replacement
print replace(' 1234 5678 ','','四')
stuff(expression,start,length,stirng)将从start开始,往后的length个长度的子字符串替换成string
print replace(' 1234 5678 ','','四')
print stuff(' 1234 5678 ',charindex('',' 1234 5678 '),1,'四')
upper(expression)转换为大写,lower(expression)转换为小写,rtrim(expression)去除右边空格,ltrim(expression)去除右边空格
print upper(' abCDEf ')
print lower(' abCDEf ')
print ltrim(' abCDEf ')
print rtrim(' abCDEf ')
特殊的where条件
between...and... (包含上下限)
select * from Student select * from Student
where S# between 1 and 3 select * from Student
where Sage between '1989-01-01' and '1990-05-20'
in
select * from Student select * from Student where S# in(01,02) or Sname in('王菊','郑竹')
like("%“代表任意一个或多个字符, "_"代表任意一个字符)
select * from Student select * from Student where Sname like '%云' or Sname like '赵_'
case...when...
select case year(Sage)
when '' then '89年'
when '' then '90年'
when '' then '91年'
else '不计算'
end as '年份',* from Student select case
when year(Sage)='' then '89年'
when year(Sage)='' then '90年'
when year(Sage)='' then '91年'
else '不计算'
end as '年份',* from Student
TSQL基础(三)的更多相关文章
- 【T-SQL基础】02.联接查询
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- 【T-SQL基础】03.子查询
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...
- T-SQL基础(四)之集合运算
三个运算符 T-SQL支持三个集合运算符:UNION.INTERSECT.EXCEPT. 集合运算符查询的一般形式如下: Query1 <set_operator> Query2 -- 这 ...
- T-SQL基础(二)之关联查询
在上篇博文中介绍了T-SQL查询的基础知识,本篇主要介绍稍微复杂的查询形式. 表运算符 表运算符的作用是把为其提供的表作为输入,经过逻辑查询处理,返回一个表结果.SQL Server支持四个表运算符: ...
- SQL Server2012 T-SQL基础教程--读书笔记(1-4章)
SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的 ...
- T-SQL——基础语法
目录 0. 定义变量 1. 批处理 2. 条件逻辑--IF 3. 逻辑分支--CASE 4. 循环语句--WHILE 5. 附录--关于CASE表达式的实现函数 6. 参考 shanzm-2020年1 ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Bootstrap <基础三十二>模态框(Modal)插件
模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用 ...
- Bootstrap <基础三十一>插件概览
在前面布局组件中所讨论到的组件仅仅是个开始.Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动.即使不是一名高级的 JavaScript 开发人员,也可以着手 ...
随机推荐
- ABA problem
多线程及多进程编程同步时可能出现的问题,如果一个值被P1读取两次,两次的值相同,据此判断该值没有被修改过,但该值可能在两次读取之间被P2修改为另外一个value,并在P1再次读取之前修改回了原值.P1 ...
- 解决Linux下zip文件解压乱码问题
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import zipfile #print "Proce ...
- 普通Jquery的ajax判断重复和formvalidator的ajaxValidator区别
示例:1.ajax版: $("#txtTitle").blur(function () { $.ajax({ ...
- ie6的兼容问题及解决方案
1.png24位的图片在ie6浏览器上会出现背景,解决方案是做成png8位: 2.浏览器默认的margin和padding不同,解决方法是用全局重置来统一,即是*{margin:0;padding:0 ...
- VHD更新命令(打补丁)
DISM 查看vhd文件信息:dism /get-imageinfo /imagefile:e:\vhd\win2008r2.vhdxdism /get-imageinfo /imagefile:e: ...
- 【转】2013年中国IT业10大公司
转自:http://www.chinaz.com/news/2013/1217/331446.shtml?zyy 1.最得志的公司:小米 在2013年,再没有一家公司像小米这样志得意满,即便看看所有的 ...
- HDU 5536 Chip Factory 字典树
Chip Factory Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid= ...
- c# 路径空格---ProcessStartInfo参数问题
今天在整合程序的时候,要从一个程序转到另一个程序 当然要使用: ProcessStartInfo startInfo = new ProcessStartInfo("\\Program ...
- C语言面试题大汇总
static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么差别?1) 引用必须被初始化,指针不必.2) 引用初始化以后不能被改变,指针能够改变所指的对象. ...
- mysql-锁表机制分析(转)
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制.一.概述MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(tab ...