TFlowCreateTask--表名 AddDate--字段名 if not exists( select d.name from syscolumns a join sysobjects b on a.id=b.id join syscomments c on a.cdefault=c.id join sysobjects d on c.id=d.id where b.name='TFlowCreateTask' and (a.name='AddDate') ) ALTER TABLE [d…
sql语句判断方法之一CASE语句用法总结 背景: Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相…
sql语句判断方法之一 selectcase when t.bk1='on' then 1else 0 end  as 基础 ,case when t.bk2='on' then 1else 0 end  as 法规 ,case when t.bk3='on' then 1else 0 end  as 电算化 from info t select t.bk1,t.bk2,t.bk3,case when t.bk1='on' then 1else 0 end  +case when t.bk2='…
一.SQL修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 说明:添加一个表的字段的约束并指定默认值 go 例: alter table T_ping drop constraint DF_T_ping_p_c alter table T_ping add constraint DF_T_ping_p_c DEFAUL…
1. sql语句判断是否为数字.字母.中文 select ascii(字段) 数字:48-57字母:65-123汉字:123+ 如,要删除某个全为数字的字段 DELETE FROM table  WHERE ascii(name) between 48 and 57 2. 一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' 三.包含纯数字 selec…
一.修改字段默认值 alter table 表名 drop constraint 约束名字   ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定默认值 二.修改字段名: alter table 表名 rename column A to B 三.修改字段类型: alter table 表名 alter column UnitPrice deci…
修改上一条SQL语句 1.用c命令来修改(c 即 change ) 默认,光标闪烁位置指向上一条SQL语句的第一行.输入二则定位到第二行. c /错误的关键字/正确的关键字 SQL form emp; form emp * 第 行出现错误: ORA: 未找到要求的 FROM 关键字 SQL> c form/from; SP2: 未找到字符串 SQL> c /form/from; from emp SQL> / EMPNO ENAME SAL SAL ---------- --------…
执行 sql语句,得到 变量的值 ' declare @Partition int; ); ); SET @SQLString = N'SELECT @RangeKeyOUT = $PARTITION.[pf_Fact_XM_XMBJXX] (20160925)'; SET @ParmDefinition = N' @RangeKeyOUT int OUTPUT'; EXECUTE sp_executesql @SQLString, @ParmDefinition, @RangeKeyOUT=@…
今天查了下,发现网上的没有一个sql语句写的好的. 判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题. 我进行了优化后,最简洁简单性能最优的的sql语句,用来判断表中的记录是否存在: select isnull((select top(1) 1 from tableName where conditions), 0) 结果为 1,则说明记录存在:结果为 0,则说明记录不存在. 网上的常见的有问题的语句: 错误1: select COUNT(*) from tableName wher…
首先,简要介绍一下我们需要什么? 我们想在sql中用 try...catch,如果成功,就返回我们查询的值,如果失败就返回-1 所以有了以下sql语句(写在后台的) string myInsert = @"begin try insert into dbo.Categories values(@categoryName); set @result = (select @@identity id); //设置成功返回值,这儿是我们查询自增id end try begin catch set @re…
有时候拷贝站的时候,由于语言文件的缺失,导致页面空白,需要将默认语言更改为英语,以下sql语句可以一定搞定: UPDATE `configuration` SET `configuration_value` = 'en' WHERE `configuration`.`configuration_key` ='DEFAULT_LANGUAGE' LIMIT 1; 打完收工!  …
1.查出该字段的约束名称 SELECT c.name FROM sysconstraints a INNER JOIN syscolumns b on a.colid=b.colid INNER JOIN sysobjects c on a.constid=c.id WHERE a.id=object_id('TClass') AND b.name='PhoneIsOpen' 2.删除该约束 ALTER TABLE TClass DROP CONSTRAINT DF__TClass__Phone…
不废话了----- 例如要删除student表的sex默认值 sp_help student;查询结果 找到constraiont_name的对应的值 最后 ALTER TABLE student DROP DF__student__sex__34C8D9D1;…
场景:  数据库有有两个字段.开始时间<startTime>,和结束时间<endTime>,指定一个时间段(a,b),a表示开始时间,b表示结束时间.看数据库中有没有与(a,b)冲突的时间段,有的话就返回那条记录.解析:两个时间段相当于两个集合,不过是有顺序的集合.两个时间段有交集细分有四种情况.用sql直接判断无交集的语句可能也有,但是目前没有想到,只想到有交集的语句,如果返回不为空则表明有交集,否则没有交集.sql语句:select * from test_table wher…
1.在没有设置默认值的情况下: SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_time FROM userinfo LEFT JOIN region ON userinfo.adm_regionid = region.id 结果: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHl3X2Jsb2c=/font/5a6L5L2T/fontsize/400/…
alter table 表名 modify 字段名 default 默认值;…
应用场景: 我有一张表,表里面都是用户用来激活游戏的激活码,当用户在前端页面输入激活码时,要查询数据表中是否有这条激活码,如果有就返回"1",没有则返回"0". 具体实现的SQL语句: SELECT FROM c_member_activation WHERE core='$core';…
一.基础(建表.建约束.关系) 约束(Constraint)是Microsoft SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件(有关数据完整性的介绍请参见第9 章).在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint).外关键字约束(Foreign Key Constraint).惟一性约束(Unique Constraint).检查约束(Check Constraint)和缺省约束(De…
效果: oralce写法: select WM_CONCAT(A.title) as citys from tmpcity A sql server写法: select stuff((select ','+A.title from tmpCity A FOR xml PATH('')), 1, 1, '') as citys mysql写法: select GROUP_CONCAT(A.title) as citys from tmpcity A;      --默认的逗号分隔select GR…
查找只存在一个表中的数据 有两张表: EMP: select * from emp DEPT: 他们有共同的属性:deptno 现在要查询EMP 中的deptno不等于DEPTNO的deptno项. 解析: select distinct DEPTNO from EMP where DEPTNO not in ( select DEPTNO from DEPT ) 注意: 因为需要查询的是DEPTNO,所以需要排除掉重复项. 其次上面的写法,如果DEPTNO在DEPT有null项上面的是错误的.…
from master..sysdatabases where name='TestDB')    print 'TestDB存在'else    print 'TestDB不存在' --判断表[TestTb]是否存在if exists(select * from TestDB..syscolumns where id=object_id('TestDB.dbo.TestTb'))    print '表TestTb存在'else    print '表TestTb不存在' --判断[TestD…
alter table st_FuelConvertPatternSetting alter column tank_max_size decimal(5,2) not null declare @constraintname nvarchar(500); declare @sql nvarchar(2000); select @constraintname = OBJECT_NAME(cdefault) from syscolumns where id = object_id(N'st_Fue…
方法一 select * from AAA where to_char(a,'yyyymmdd') = to_char(sysdate,'yyyymmdd'); select * from AAA where to_char(a,'yyyymmdd') = to_char(sysdate-1,'yyyymmdd');   方法二 select * from AAA where trunc(a) = trunc(sysdate); select * from AAA where trunc(a) …
举个栗子, 求出相同作者的书 select * from [books]  where author in (select author from [books] group by author having count(author) > 1)…
SELECT t.card_number ,) AS "省份", SUBSTR(t.card_number,,) "出生年月", SUBSTR(t.card_number,,) "性别" , CASE (SUBSTR(t.card_number,,)%) WHEN THEN '男' WHEN THEN '女' END AS '性别' FROM user t ;…
ifnull(a.discountsign, ') AS "discountsign"…
select * from user where name in (select name from user group by name having count(*)>1)…
如果向存在数据的表里添加约束,有可能会出现数据不符合检查约束而造成添加约束失败. 如: 这是一个表,为身份证号添加检查约束. USE DEmo--指向当前操作的数据库 GO ALTER TABLE Employee ADD CONSTRALNT CK_EmployeeID CHECK(LEN(EmployeeID=18) 然后会出现 报错意思是数据表里面的身份证号现有数据有不等于18的,与检查约束冲突,会添加失败. 用ALTER  TABLE Employee+ WITH NOCHECK可以解决…
Sql 语句添加字段 ,) not null --修改类型 alter Table bbs ) Sql 语句修改默认值 alter table 表名 drop constraint 约束名字 --删除字段约束 )) for threadid --添加默认值约束…
二.改善SQL语句          很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如:   select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan'          一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先…