例如:有表MO_Cook,字段:FoodRoom,name 有如下数据: 要求:将FoodRoom中值相同的字段合并成一行,并将name的值用逗号隔开. 需要用到:STUFF函数. 查询语句如下: select FoodRoom, stuff((select ','+name from MO_Cook where c.FoodRoom=FoodRoom ,,'') as CookNames from MO_Cook c group by c.FoodRoom 查询结果如下: STUFF (
常用sql语句总结(二)(更新数据,序列,创建数据表,约束,注释) 一. 增 INSERT INTO 数据表(字段,字段,-) VALUES(值,值-); INSERT INTO emp(empno,ename,job,mgr,date,sal,comm,deptno) VALUES(1001,'张三','班长',8000,SYSDATE|NOW(),3000,null,20) 二. 修 UPDATE 数据表 SET 字段 = 值,-.. WHERE 过滤条件; UPDATE emp SET s
为了防止程序SQL语句错误以及SQL注入,单引号必须经过处理.有2种办法: 1.使用参数,比如SELECT * FROM yourTable WHERE name = @name; 在C#中使用SqlParameter parameter = new SqlParameter("@name", objValue);来添加参数,懒得写SqlDbType这东西了,因为不写也完全可以,只需要参数名和值. 在JAVA中就是用预处理PreparedStatement来添加参数. 2.如果不用参数
delete from <table_name> wehere id not in (select max(id) from <table_name> group by <除id外的其他字段> 将表中的数据按除ID之外的所有列进行分组 之后每个组的数据就是除了ID都相同的数据了 这样每个组只需保留一条记录即可 这是使用max(id)或者min(id)都可以 总之只要从每组取出一个id即可 然后将整个表中的记录id不在所选择出的id之列的全部删除即可
数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 加入: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 改动: update person set name =
使用到的sql 语句的关键字就是replace, 如下图,把带有zhangjun 的值替换成 user 使用的sql语句就是 update 表名 set 字段名=replace(字段名,‘替换字符内容’,‘替换后的内容’) 条件 update api_manage_apicollectioninfo set header=replace(header,'zhangjun','user') where api_collection_id=77
研究了两天也没有研究的很明白,但是问题做出来了, 如下表中的字段,第一级是由逗号隔开字符串,第二级是由空格隔开的字符串,现在想取空格字符串中的第几个空格前后的字符串, 所用到的工具,1.是 for xml path(''), 2.是Stuff,必须和select 配合着使用哦这样,才能把字符串前面的字符去掉.和right的区别是设么?是stuff可以,在删除的位置可以插入新的字符串. 3.是一个函数f_split ALTER function [dbo].[f_split](@c varchar
select * into 新表名 from (select * from T1 union all select * from T2) 这个语句可以实现将合并的数据追加到一个新表中. 不合并重复数据 select * from T1 union all select * from T2 合并重复数据 select * from T1 union select * from T2 两个表,表1 表2 如果要将 表1的数据并入表2用以下语句即可 insert into 表2(字段1,
本周:select * from table where datediff(week,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段本月:select * from table where datediff(Month,C_CALLTIME,getdate())=0 --C_CALLTIME 为日期字段本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0 求以下日期SQL