-- SQL SERVER 判断是否存在某个触发器.储存过程 -- 判断储存过程,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE name='procedurename' AND type='P')) DROP PROCEDURE procedurename -- 判断触发器,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]')
原文:SQL Server判断某个字段是否包含中文/英文字符/数字 因最近在清理系统中的脏数据,需要查询某个字段是否包含中文/英文字符/数字的数据, 比较简单,仅以此篇博客做一个简单总结,方便以后查阅. 1.判断某个字段是否包含中文字符 SELECT * FROM dbo.Channel_ShopCommodity AND StoreCode LIKE '%[吖-座]%'; 2.判断某个字段是否包含英文字符 SELECT * FROM dbo.Channel_ShopCommodity AND
1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名]2 判断表是否存在Sql代码 if exists (select * from sysobjects where id = objec
功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].[SCHEMA].SYSCOLUMNS WHERE ID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME]) AND NAME='COLUMN_NAME') ALTER TABLE [TABLENAME] ADD [COLUMN_NAME] [COLUMN_TYPE] p.s. 之前sql server在当前数据库下,Obj
主要是在sql server的内置系统函数ISNUMERIC的基础上,将例外的“+”.“-”.“$”等也进行判断. CREATE FUNCTION [dbo].[fn_IsNumberic]( @str nvarchar(max))RETURNS intASBEGIN declare @res int set @res=case when ISNUMERIC(isnull(@str,0))=1 then case when PATINDEX('%[^0-9.]%',rtrim(ltrim(isn
在创建表.更改表结构.删除表或对表进行什么操作之前,一个比较严谨的做法是先判断该表是否已经存在. 在SQL Server中判断一个表是否存在,有两个方法,下面以diso表为例. 方法1 from sysObjects where id = object_id(N'diso') and xtype = 'U') print '表diso存在' else print '表diso不存在' 原理是查询[sysObjects]这张系统表,该表保存了所有对象信息,既然是所有对象,自然包括表的信息,其中xt
一.判断表是否存在 object_id():获取表的ID,其中N表示Unicode类型.可以支持不同语种的对象名 ) drop table [dbo].[表名] 二.判断要创建的存储过程名是否存在 ) -- 删除存储过程 drop procedure [dbo].[存储过程名] 三.判断要创建的视图名是否存在 ) -- 删除视图 drop view [dbo].[视图名] 四.判断要创建的函数名是否存在 if exists (select * from dbo.sysobjects where
1 判断数据库是否存在 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] 2 判断表是否存在 ) ) drop table [表名] 3 判断存储过程是否存在 ) ) drop procedure [存储过程名] 4 判断临时
sql server 替换null:isnull(arg,value) 如:select isnull(price,0.0) from orders ,如果price为null的话,用0.0替换 与null比较: is not null,is null 如 select * from orders where price is null ,price等于null 如: select * from orders where price is not null ,price不等于null Oracl
1.IF ELSE 不能用在SELECT中,只能是块,比如: IF ... BEGIN ... END ELSE (注意这里没有ELSE IF,要实现只能在下面的块中用IF判断) BEGIN ... END 参考:https://msdn.microsoft.com/en-us/library/ms182587.aspx 2.CASE WHEN THEN ELSE END 可以在SELECT中使用,但是要包括END结尾 CASE ... WHEN ... THEN ... ELSE ...(可省
1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表是否存在if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [表名] 3 判断存储过程是否存在if ex
1.判断数据表是否存在 方法一: use yourdb;go if object_id(N'tablename',N'U') is not nullprint '存在'else print '不存在' 例如:use fireweb;go if object_id(N'TEMP_TBL',N'U') is not nullprint '存在'else print '不存在' 方法二: USE [实例名] GO IF EXISTS (SELECT * FROM dbo.SysObjects WH
--判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] --判断表是否存在 ) drop table [表名] --判断存储过程是否存在 ) drop procedure [存储过程名] --判断函数是否存在 IF OBJECT_ID (N'函数名') IS NOT NULL DROP FUNCTION dnt_split --判断数据库是否开启了全文搜索 selec
在创建表之前,通常需要先判断该表是否已经存在,如果存在则不需要创建:有时候删除表之前也需要先行判断是否存在,否则会报错. 判断方法大致有以下两种: 方法一: from sysObjects where Id=OBJECT_ID(N'LE_User') and xtype='U') print '存在' else print '不存在' 方法二: if OBJECT_ID(N'LE_User',N'U') is not null print '存在' else print '不存在' 其中两种方法
1 判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表是否存在 if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [表名] 3 判断存储过程是否存在 if exist