SQL变量、Substring、charindex、case函数、去除重复

isnull(aa,0)
删除表数据:

truncate table aaa
 
添加字段:

ALTER TABLE table1 ADD col1 varchar(200) DEFAULT ‘2008-05-22‘

修改字段名:

alter table table1 rename column col1 to col2;

修改字段属性:

alter table table1 alter column col1 varchar(200) not null;

修改默认值

alter table table1 add constraint df default(‘嘿嘿‘) for col1;
 

insert into table1(col1,col2)

select col1,col2

from table2 where table2.id=1

update t
   set t.col1 = o.col1
  from table1 AS t
         inner join
       table1 AS o 
         on t.id = o.id

//第一个参数是要截取的对象,第二个参数是截取的起始位置(从1开始),第三个参数是截取的长度

select Substring(‘1234567890‘,-1,3)

//第一个参数是要查找的字符,第二个参数是查找的对象,字符串的索引是从1开始的

select charindex(‘.‘,‘132.12.3‘)

//获取字符串的长度,参数为要查找的对象

len(‘123456‘)

//将一个字符串反转

select reverse(‘hello,world‘)

将得到如下的输出:dlrow,olleh

//获取最后一次”-“出现的位置

charindex(‘-‘,reverse(@str))

//获取最后一个”-“后面的字符

reverse(substring(reverse(@str),1,charindex(‘-‘,reverse(@str))-1))

//类型转换

CAST(@XX AS char(20))

CONVERT(char(20), @XX)

cast(0 as bit)

--简单case函数

case sex

when   ‘1‘   then  ‘男‘

when   ‘2‘   then  ‘女‘

else     ‘其他‘   end

--case搜索函数

case      when  sex = ‘1‘   then  ‘男‘

when  sex = ‘2‘   then  ‘女‘

else    ‘其他‘   end

//申明及使用变量

declare @OldItemPath nvarchar(500);

select @OldItemPath=‘123’;

//申明及使用表变量

declare @table1 table (Id int);

insert into @table1

select Id from table1;

select * from @table1;

//关键字distinct,去除重复项

select distinct ip,city from table2//关键字distinct,去除重复项

时间: 2024-12-19 19:20:00

SQL变量、Substring、charindex、case函数、去除重复的相关文章

unique函数去除重复元素在vector中的应用

 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<vector> #include<algorithm> #include<iostream> using namespace std; int main() { int a[10]={1,7,4,1,7,4,1,7,4,0}; sort(a,a+10); vector<int> ver(a

sql 单表/多表查询去除重复记录

单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 ************************************************************************************ 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from peoplewhere peopleId in (select peopleId from peopl

sql去除重复语句

转自芙蓉清秀的BLOG http://blog.sina.com.cn/liurongxiu1211 sql去除重复语句 (2012-06-15 15:00:01) sql 单表/多表查询去除重复记录 单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 ************************************************************************************ 1.查

sql查询去除重复值语句

sql 单表/多表查询去除重复记录 单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 ************************************************************************************ 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select

SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。

top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 order by用在表名的后面 order by后面就填你要按它排序的字段,是升序排序(从小到大排序) percent:百分比 %=percent 比如要显示5%的数据处理,不能写top 5%,而是top 5 percent 提示:如果top 5 percent出来的数是3.1条数据的话,是取四条数据,而不

sql substring charindex

substring(s1,int,int) 截取字符串,起始位置,截取个数,返回截取后的字符串 charindex(s1,s2)查找字符s1在s2中的位置.返回int位置 SELECT substring(productid,0,(charindex(')',productid)+1)) as id1, substring(partid,0,(charindex(')',partid)+1)) as id2,* FROM IE_GYGJB_A where isnull(productid,'')

SQL语句技巧之去除重复行

去除表中重复行数据,可能大家立马就想到的是用DISINTCT关键字,但DISINTCT只能是去除表中所有列都相同的行,若碰到需要去除表中多个字段重复的行(即:部份相同,部份不相同),那么该如何做呢?我通过多年数据库编写经验,整理了如下方法,供大家参考和使用. 方法1:适用于返回较少字段 select F1,F2,F3,MAX(F4) FROM TABLENAME GROUP BY F1,F2,F3 方法2:适用于返回行所有字段,需指定不相同的字段 select * FROM TABLENAME

SQL查询语句去除重复行

1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 select distinct * from table(表名) where (条件) 2.存在部分字段相同的纪录(有主键id即唯一键) 如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组 select * from table where id in (select min(id) from table group by [去除重复的字段名列表,....])

SQL中SUBSTRING函数的用法

功能:返回字符.二进制.文本或图像表达式的一部分 语法:SUBSTRING ( expression, start, length ) SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR(), SUBSTRING() Oracle: SUBSTR() SQL Server: SUBSTRING() 参数: expression 字符串.二进制字符串.文本.图像.列或包含列的表达式.请勿使用包含聚合函数