SQL 根据IF判断,SET字段值】的更多相关文章

好久没来园子了,转眼2017已经到3月份了,前段时间一直忙没时间写博客(其实是自己懒),感觉内心好惭愧.昨天临下班前,技术老大突然对我说要改下表结构,问我能不能实现将一个表的字段值复制到另外一个表的某个字段中去,感觉这好拗口,其实就是表间字段值复制.于是,昨晚加了会儿班百度了下然后自己在本地测试了下,还真弄出来了,下面就把这个sql语句记下来,以备忘. 1,背景和需求 两张表a_user和b_user结构如下: a_user +--------+-------------+------+----…
在数据上我们往往会遇到ntext大文本类型,这种类型如果和 nvarchar类型相加会出现问题,所以有一中方法可以解决这种问题. 使用的sql   函数: TEXTPTR:返回要更新的 text.ntext 或 image 数据的文本指针的值. UPDATETEXT :在适当的位置更改 text.ntext 或 image 列的一部分 WRITETEXT: 来更新和替换整个 text.ntext 或 image 字段 举例: CREATE TABLE [dbo].[aa]( [ID] [int]…
需求:在一个表table中有两三列,分别是"货物名称"."进货时间"."出货时间"."存放天数",货物名称和两种"鱼"."肉",现在的需求是这样子的:如果肉的进货时间与鱼的出货时间相同则鱼显示实际"存放天数",否则"存放天数"为0,肉的"存放天数"正常显示. 分析: 1.首先查找出所有货物名称为"肉"的进货时…
SELECT CASE THEN '*******' ELSE Plate END AS Plate, CarType FROM Cars;…
原文:在论坛中出现的比较难的sql问题:7(子查询 判断某个字段的值是否连续) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 1.求一个聚合的SQL该怎么写 http://bbs.csdn.net/topics/390640648?page=1#post-396068172有这样的数据员工    开始日期                     终了…
sql server中对日期字段值的比较 sql server中对日期字段的比较方式有多种,介绍几种常用的方式:用northwind库中的employees表作为用例表.1.between...and语句的使用:说明:between...and用于指定测试范围看以下实例:执行sql语句“SELECT hiredate FROM employees”显示结果如下:hiredate1992-05-01 00:00:00.0001992-08-14 00:00:00.0001992-04-01 00:…
今天正好有个新需求,要求在一张表中,保证不插入重复的记录. 即,保证每条记录中的某个字段的值不重复. 下面是我给出的SQL语句: //存在-->更新 //不存在-->插入 UPDATE 表名称 SET 字段1=插入值1, 字段2=插入值2, 字段3=插入值3 WHERE 表名称.字段3 = 插入值3 ; INSERT INTO 表名称 (字段1, 字段2, 字段3) SELECT 插入值1, 插入值2, 插入值3 FROM DUAL WHERE NOT EXISTS ( SELECT * FR…
查询同一个表中某一字段值相同的记录 select * from 表名 where 字段 in(select 字段 from 表名 group by 字段 having count(1)>1) select * from 表名 awhere exists (select 1 from 表名 where 字段=a.字段 and 主键<> a.主键) 用select top 查询出多条记录的解决 这个问题在开发的时候经常会遇到,比如 写了一句查询5条记录的语句 “SELECT top 5 *…
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL,动态列字段: 方法三:使用PIVOT关系运算符,静态列字段: 方法四:使用PIVOT关系运算符,动态列字段: 扩展阅读一:参数化表名.分组列.行转列字段.字段值: 扩展阅读二:在前面的基础上加入条件过滤: 参考文献(References) 二.背景(Contexts) 其实行转列并不是一个什么新鲜的…
SQL 按特定字段值排序的代码,有需要的朋友可以参考下. id, name shandong01 name1 shandong02 name2 shandong03 name3 beijing01 name4 beijing02 name5 beijing03 name6 shanghai01 name7 select id,name from table end result: shanghai01 name7 beijing01 name4 beijing02 name5 beijing03…
SQL Server 按某一字段分组 取 最大 (小)值所在行的数据 -- 按某一字段分组 取 最大 (小)值所在行的数据 -- (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-10-23于浙江杭州) /* 数据如下: name val memo a    2   a2(a的第二个值) a    1   a1--a的第一个值 a    3   a3:a的第三个值 b    1   b1--b的第一个值 b    3   b3:b的第三个值 b    2   b2b2b2b2 b   …
我们今天主要向大家讲述的是SQL Server数据库之向SQL Server自增字段正确的插入值的实际操作步骤,在一般的情况下,我们不能向 SQL Server 数据库自增字段中插入值,如果非要这么干的话,SQL Server 就会好不客气地给你个错误警告: Server: Msg 544, Level 16, State 1, Line 1 Cannot insert explicit value for identity column in table 't' when identity_i…
如下表Z 中,取 字段a 最大的那行 字段a           字段a    字段cSP000016964 5 20SP000016964 7 30SP000016964 1 15SP000017755 4 16SP000017755 8 12 最后得到下面结果 SP000016964 7 30SP000017755 8 12 代码如下 复制代码 SQL语句如下:select z.* from z, (select a,max(b) as max_b from z group by a) z1…
操作数据库,需要判断返回的字段值是否为空,收集了3种方法供参考 1 通过System.DBNull判断,网上大部分都使用这个方法. DataTable dt;                                                    //假设字段为name, dt已经保存了数据 dt.rows[0]["name"] == System.DBNull.Value;           //判断第一行数据的name字段是否为空 2 通过IsNull判断 Data…
好长时间没有用SQL了...还停留在学生时代的水平... 转: 昨天遇到个面试题:查询一个表里面某个字段值相同的数据记录,好久没有写过这种,还真的花了点时间才写出来.如表g_carddetail,有 g_no g_name g_id g_state 这个字段,现在要求查询出存在g_id相同大于等于2的数据记录:select * from g_carddetail a where exists(select g_id from g_carddetail where g_id = a.g_id gr…
ArcGIS自定义工具箱-判断字段值是否相等 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:判断两个字段值是否相等 使用方法: 结果: 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com…
mybatis批量更新update-设置多个字段值 2016年08月01日 12:49:26 姚一号 阅读数:29539 标签: mysql mybatis批量更新批量更新allowMultiQuerie更多 个人分类: mybatis   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mingliangniwo/article/details/52084648 mybatis由于简单易用性得到大家的认可和使用 但是在批量更新操作中,网上介绍的…
原文:SQL Server判断某个字段是否包含中文/英文字符/数字 因最近在清理系统中的脏数据,需要查询某个字段是否包含中文/英文字符/数字的数据, 比较简单,仅以此篇博客做一个简单总结,方便以后查阅. 1.判断某个字段是否包含中文字符 SELECT * FROM dbo.Channel_ShopCommodity AND StoreCode LIKE '%[吖-座]%'; 2.判断某个字段是否包含英文字符 SELECT * FROM dbo.Channel_ShopCommodity AND…
使用SQL中的update更新多个字段值,set后面的条件要用逗号不能用and set后面的多个条件之间没有关联也不可以有关联,所以就不能用and了:where 条件后面 可以为and 如: update table set sex= '男', name='张三' where id = 1 ;          正确 update table set sex= '男' and name='张三' where id = 1 ;    错误…
DECLARE @what varchar(800)SET @what='123456' --要搜索的字符串   DECLARE @sql varchar(8000)   DECLARE TableCursor CURSOR LOCAL FORSELECT sql='IF EXISTS ( SELECT 1 FROM ['+o.name+'] WHERE ['+c.name+'] LIKE ''%'+@what+'%'' ) PRINT ''[字段值所在的表.字段]:['+o.name+'].[…
update (select length(t.name), t.* -- name,length(name) from g_enterprise_info t where nvl2(translate(name, '\1234567890 ', '\'), 'is characters ', 'is number ') = 'is number ' and asciistr(gszcdjh) like '%\%') set name = gszcdjh, gszcdjh =name ; 判断一…
MySQL连贯字符串不能利用加号(+),而利用concat. 比方在aa表的name字段前加字符'x',利用: update aa set name=concat('x',name); 替换: UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 字段 update tableName set title= REPLACE(title,'替换前关键字','替换后关键字');…
身份证号码相同(字段值出现多次) select * from CBF_JTCY a,(select CYZJHM, count(*) from CBF_JTCY  group by  CYZJHM having count(*)>1)bwhere a.cyzjhm=b.cyzjhm 身份证号码相同但姓名不同(A字段相同,B字段不相同) select * from cbf_jtcy  a ,(select * from  cbf_jtcy ) b where a.CYZJHM=b.CYZJHM a…
有时需要以某一字段作为分组,筛选每一组的另一字段值最大(或最小)的记录.例如,有如下表 app,存储了 app 的 ID.名称.版本号等信息.现在要筛选出每个 app 版本最大的记录. 方法一 SELECT a.* FROM app a WHERE a.app_version = (SELECT MAX(b.app_version) FROM app b WHERE b.app_name = a.app_name) ORDER BY a.app_name; 方法二 SELECT a.* FROM…
MYSQL在一个字段值后面加字符串,如下: member 表名 card 字段名 update member SET card = '00' || card; (postgreSQL 用 || 来连贯字符串) MySQL连贯字符串不能利用加号(+),而利用concat. 比方在aa表的name字段前加字符'x',利用: update aa set name=concat('x',name)…
字段值 函数实现: )) ) as begin set @strs=','+@strs+',' ) ) set @str2='' declare SyncOrderCursor cursor for select b.Name from dbo.ShopStore as a inner join dbo.Shop as b on a.StoreGid=b.Gid ))+',%' open SyncOrderCursor fetch next from SyncOrderCursor into @…
需求:用一条SQL(SQL SERVER)语句,实现反向更改状态标识字段(类型为bit)的值.即是从true变false,或从false到true. 方案: 一.判断原来这个字段值,然后UPDATE为相反的值. 二.对数据库的bit型赋值,在管理界面输入与用SQL语句来操作有所不同.管理界面输入必须用true或false,而SQL语句则用0或1. 实践一下: UPDATE AttUsers SET IsActive =IsActive+1 WHERE ID=1SELECT * FROM AttU…
1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型     ALTER TABLE table_name     ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名     EXEC sp_rename '[dbo].[Table_1].[filedName1]…
1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型     ALTER TABLE table_name     ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名     EXEC sp_rename '[dbo].[Table_1].[filedName1]…
用SQL语句添加删除修改字段 1.增加字段     alter table docdsp    add dspcode char(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMN column_NAME3.修改字段类型     ALTER TABLE table_name    ALTER COLUMN column_name new_data_type24.创建数据库      CREATE DATABASE database-name 25.…