相似度函数 概述    比较两个字段的相似度    最近有人问到关于两个字段求相似度的函数,所以就写了一篇关于相似度的函数,分别是“简单的模糊匹配”,“顺序匹配”,“一对一位置匹配”.在平时的这种函数可能会需要用到,可能业务需求不一样,这里只给出参照,实际情况可以相对修改. 本文所有的两个字段比较都是除以比较字段本身,例如A与B比较,找出的长度除以A的长度,因为考虑如果A的长度大于B的长度,相似度会超100%,例如‘abbc’,'ab'. 如果大家想除以B的长度,只需要在语句末尾将‘SET @n…
一.概述    最近有人问到关于两个字符串求相似度的函数,所以就写了本篇文章,分别是“简单的模糊匹配”,“顺序匹配”,“一对一位置匹配”.在平时的这种函数可能会需要用到,业务需求不一样,这里只给出参照,实际情况可以相应修改.本文所有的两个字段比较都是除以比较字段本身,例如A与B比较,找出的长度除以A的长度,因为考虑如果A的长度大于B的长度,相似度会超100%,例如‘abbc’,'ab'. 如果大家想除以B的长度,只需要在语句末尾将‘SET @num=@num*1.0/LEN(@Cloumna)’…
CREATE TABLE [dbo].[A](    [ID] [int] NULL,    [NAME] [varchar](50) NULL,    [SEX] [varchar](50) NULL,    [AGE] [int] NULL) ON [PRIMARY]; CREATE TABLE [dbo].[B](    [ID] [int] NULL,    [NAME] [varchar](50) NULL,    [SEX] [varchar](50) NULL,    [AGE]…
1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需要写sql更新或插入. DECLARE @xml XML SET @xml=' <MyHobby> <MyCode>1</MyCode> <MyName>爬山</MyName> </MyHobby> <MyHobby> <…
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB). 用户将一个XML数据存入数据库的时候,可以使用这个XML的字符串,SQL Server会自动的将这个字符串转化为XML类型,并存储到数据库中. 随着SQL Server 对XM…
JDBC连接SQL server与ADO.NET连接Sql Server对比 1.JDBC连接SQL server 1)java方面目前有很多驱动能够驱动连接SQL servernet.   主流的有两个sourceforge.jtds.jdbc.Driver和JDBC. 2)代码如下: package com.testSqlJDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Resul…
原文:使用 SQL Server 的 uniqueidentifier 字段类型 SQL Server 自 2008 版起引入了 uniqueidentifier 字段,它存储的是一个 UUID, 或者叫 GUID,内部存储为 16 个字节.SQL Server 可用两个函数来生成 uniqueidentifier, 分别是 NEWID() 和 NEWSEQUENTIALID(), 后者只能用作字段的默认值.Java 也有一个 UUID 工具类 java.uti.UUID, UUID.rando…
原文:SQL Server判断某个字段是否包含中文/英文字符/数字 因最近在清理系统中的脏数据,需要查询某个字段是否包含中文/英文字符/数字的数据, 比较简单,仅以此篇博客做一个简单总结,方便以后查阅. 1.判断某个字段是否包含中文字符 SELECT * FROM dbo.Channel_ShopCommodity AND StoreCode LIKE '%[吖-座]%'; 2.判断某个字段是否包含英文字符 SELECT * FROM dbo.Channel_ShopCommodity AND…
在开发过程中线上的数据库表字段和本地数据库表字段是存在的,也许我们在本地数据库中所增加的表字段都会有记录到SQL文件中,但当增加的表及字段名称较多时总会出现漏网之鱼,发布真是版本的时候回出现很多很多的问题,那么如何在发布新的版本时保证线上数据库与本地数据库中的表字段都是统一的了,下面我说一个比较笨的方法去保证两个数据库无差异. 1.将线上的数据库架构生成成为SQL,操作如下: 选择中某线上数据库 → 任务 → 生成脚本 → 下一步 → 选择对象窗口,选择(编写整个数据库及所有数据库对象的脚本)下…
一.视图和存储过程比较 [原理]利用系统表“sysobjects"和系统表“syscomments”,将数据库中的视图和存储过程进行对比.系统表"sysobjects"之前有详细介绍过,有兴趣可以看看:SQL Server系统表sysobjects介绍与使用   [代码] /*--调用示例 exec p_compdb 'DBNAME1','DBNAME2' exec p_compdb 'DBNAME2','DBNAME3' --*/   CREATE proc p_compd…
sql server 数据库中某张表(Person)的数据信息是: ID Address 1 平山花园-4单元-12幢-203 2 香山花园-3单元-22幢-304 现在有需求是,将地址信息显示形式改成4列 ,即小区名,单元号,楼房号,房间号  分成4列进行显示 ID 小区名 单元号 楼房号 房间号 1 平山花园 4单元 12幢 203 2 香山花园 3单元 22幢 304 介绍两种方案: 第一种:最简单的办法就是调用sql server中自带函数PARSENAME来进行拆分,但是注意:最多只能…
由于项目前后用了2个数据库,需要统计数据库结构的变化,需要统计每个表的变化,由于人工核对挺浪费时间,就写了一点代码: 1.统计表的字段数量(查询表有多少列): select count(name)  from syscolumns where  id=object_id('表名') eg:select count(name)  from syscolumns where  id=object_id('t_dk') 2.查询数据库字段名 (表有哪些字段) select name   from 数据…
一.查询SQL Server中所有的表 SQL语句:SELECT * FROM sys.tables name列表示所有的表名. 二.查询SQL Server中所有的列 SQL语句:SELECT * FROM sys.columns name列表示所有的字段名称. 两张表根据object_id进行关联. 语法: select * from sys.tables t inner join sys.columns c on t.object_id=c.object and c.name='要查询的字…
------------------------------------------------------------------------------------------------------                                                        是                                  否--------------------------------------------------------…
Sql Data Compare 是比较两个数据库的数据是否相同.生成同步sql的工具. 这一款工具由Red Gate公司出品,我们熟悉的.NET Reflector就是这个公司推出的,它的SQLToolbet也是非常有名,SQL Data Compare是SQLToolbet系列工具中的一种. Red Gate公司出品的这款Data Compare 工具稳定,好用.它还有一个很有用的feature是,可以比较备份集中的数据.也就是我们把客户数据备份之后,拷贝回来,可以直接在这里比较,而不用还原…
1. 增加字段说明 EXEC sp_addextendedproperty     'MS_Description',     'some description',     'user',      dbo,     'table',      table_name,     'column',      column_name   Some Description , 是要增加的说明内容 table_name, 是表名 column_name , 是字段名   2. 增加表的说明 EXEC…
数据通过页面表单保存到数据库,由于有个选项是一个树形的下拉框,导致保存的这个字段的数据前面有空格,在sql server中可以使用 SELECT LTRIM(RTRIM(BelongPartyCode)) FROM dbo.T_PartySummaryTable  PS: 我用的是sql server 2008R2 里面没有 trim 函数,这能通过左右函数分别去,SQL Server 2017新增了 trim函数! 来去掉前后的空格,但是使用了,却无法去掉空格,于是换了一种方式  使用 SEL…
创建表结构 CREATE TABLE test( ,) NOT NULL PRIMARY KEY, ) COLLATE Chinese_PRC_CI_AS NULL, createdTime DATETIME DEFAULT GETDATE() ) 使用output获得自增ID值 没使用output前的写法,用Score_Identity函数获取自增值 INSERT INTO dbo.test ( name ) VALUES ( N'测试数据') SELECT SCOPE_IDENTITY();…
在sql后查询,给现有表添加一个字段,即执行sql语句: alter table [sxrq_1108].[dbo].[公司周报表详情] add 总计 int default 0 然后在上述sql查语句增加字段‘总计’,显示总计是无效列名,更为严重的是无法向表中insert或者update含有新增列名的数据.但是更改后的sql语句依旧可以执行成功.这是由于SQL Server的intellisense的引起的. intellisense是SQL Server的智能记录智能感知功能,即当给sql表…
在某些情况下需要对某条记录添加上时间戳,比如用户注册,需要记录用户的注册时间,在SQL SERVER 2008中可以通过 1. 添加新字段 2. 数据类型设置为smalldatetime 3. 默认值设置为getdate() sql语句: CREATE TABLE tb_products ( id INT IDENTITY(1, 1) PRIMARY KEY, productNum VARCHAR(50) NOT NULL UNIQUE, productName VARCHAR(50) NOT…
UPDATE kingdee_pro_stock set kingdee_pro_stock.org_name=ERP_BASIC_BILLNO_PREFIX.org_name,kingdee_pro_stock.page_no=ERP_BASIC_BILLNO_PREFIX.page_no,kingdee_pro_stock.page_name=ERP_BASIC_BILLNO_PREFIX.page_name,kingdee_pro_stock.djlb_no = ERP_BASIC_BIL…
连接不上数据库,首先可以排除是代码的问题,连接方式都是千篇一律的. 大多数问题都是本机的两个原因造成的,1.服务没有开启,2.没有启动SQL配置的TCP/IP 下面给出统一解决方案: 首先从开始菜单找到SQL数据库的配置工具,比如我的是Microsoft SQL Server文件夹下的"SQL Server 2019配置管理器", 找到TCP/IP,如果没有启动,右键——启动. WIN + R在运行框中输入services.msc,找到SQL开头的所有服务,没启动的都给它启动好,重点关…
在SQL Server 数据库中,我们在创建表之前删除表,有if exit()这样的语句,但是在oracle中却没有.如果直接使用drop table那么如果表不存在会报错,导致后续语句无法运行.因此可以通过一个存储过来来进行判断.如果表存在,则执行execute PROC_CREATE_INFO 即可代码如下: CREATE OR REPLACE PROCEDURE PROC_CREATE_INFO(P_TABLE_NAME IN USER_TABLES.TABLE_NAME%TYPE) IS…
Statement和prepareStatement sql server中已建立BookPhone数据库,包含bookPhone表,eclipse中有BookPhone类,三个string类型的值 1. import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLExcepti…
1.第一种重启SQl server的方法 点击左侧的数据库重启 如图 右击有个重启操作 2.第二个重启sql server方法…
-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.     -- Purpose: To search all columns of all tables for a given search string     -- Written by: Narayana Vyas Kondreddi     -- Site: http://vyaskn.tripod.com     -- Tested on: SQL Ser…
添加,刪除字段 通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数   增加字段:  增加数字字段,整型,缺省值为0 增加数字字段,长整型,缺省值为0 增加数字字段,单精度型,缺省值为0 增加数字字段,双精度型,缺省值为0 增加数字字段,字节型,缺省值为0   alter table[表名] add 字段名 text [null] 增加备注型字段,[null]可选参数 alter table [表名] add 字段名 me…
目录 Sql Server Oracle MySql Sql Server CONVERT ( '取数长度' , '时间' , '类型') 查询对应时间: 2021-03-17T19:18:18.007 Select CONVERT(varchar(100), GETDATE(), 0) -- 03 17 2021 7:18PM Select CONVERT(varchar(100), GETDATE(), 1) -- 03/17/21 Select CONVERT(varchar(100),…
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候判断数据表是否存在,若存在则删除,会经常使用,特别是初始化的时候. --方法一 /*判断数据表是否存在,若存在则删除数据表*/ IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Table_Name') DROP TABLE Table_Name;…
在SQL 2012基础教程中列出子句是按照以下顺序进行逻辑处理. FROM WHERE GROUP BY HAVING SELECT ORDER BY FROM TableName WHERE UserCode = @UserCode) BEGIN UPDATE TableName SET NotPushBeginTime = @NotPushBeginTime, NotPushEndTime = @NotPushEndTime WHERE UserCode = @UserCode END EL…