我的空间
  • 首页
  • 学无止尽
  • 常用工具
  • 留言板
  •  
首页>学无止尽>列表

SQL limit(读取中间几条记录)

佚名2018-03-08数据库 1819° 0
在MySQL中,可以用 Limit 来查询第 m 条到第 n 条的记录,例如:select * from tablename limit m, n在SQL Server中,不支持 Limit 语句,但是它支持 TOP。select top n-m 1 * from [tableName] where (id not in (select top m-1 id from [tableName]))

Sql Server 里的向上取整、向下取整、四舍五入取整的实例

佚名2017-09-22数据库 1281° 0
--【四舍五入取整截取】 SELECT ROUND(54.56,0)--55.00 --【向下取整截取】 SELECT FLOOR(54.56)--54 --【向上取整截取】 SELECT CEILING(54.15)--55

参数数据类型 text 对于 replace 函数的参数 1 无效

佚名2017-09-22数据库 1536° 0
对text或ntext类型的数据在查询中不能进行字符串操作。这时用得最多的是把text当作varchar(实际内容长度低于8000字节时)或把ntext当作nvarchar(实际内容长度低于4000字节时)来处理。但是这样处理也不是非常妥当毕竟如果text字段内容超过8000了岂不是要被截断或者忽略掉。最终找到了一种方法解决了”参数数据类型 text 对于 replace 函数的参数 1 无效”的问题。下面用一个例子来说明怎么处理的。语法如下:update table set column=replace(cast(column as varchar(max)),'123′,&#39

删除维护计划,提示:调用的目标发生了异常。 (mscorlib)

佚名2019-10-16数据库 1075° 0
1. 在msdb中先执行下面的语句将维护计划的ID查出。SELECT * FROM dbo.sysmaintplan_plans;2. 将查出的ID填入到下面几句话中的''中,并执行。DELETE FROM dbo.sysmaintplan_log WHERE plan_id = '';DELETE FROM dbo.sysmaintplan_subplans WHERE plan_id = '';DELETE FROM dbo.sysmaintplan_plans WHERE id = '';

SQL Server退出域后无法启动

佚名2019-10-21数据库 846° 0
登陆身份改为“本地系统帐户”(Local System account)。

SQL server无法启动,报错"17051"

佚名2022-02-16数据库 5681° 0
现象:安装的是SQL Server评估版,180天的试用期后,MSSQLSERVER服务就无法启动,手动启动就报告17051错误。解决办法:第一步:进入SQL server配置工具中的安装中心,第二步:再进入维护界面,选择版本升级,第三步:进入产品密钥,输入密钥第四步:一直点下一步,直到升级完毕(升级过程比较慢,有时会出现假卡死现象)。用key升级成功后即可启动MSSQLSERVER服务。如果启动SQL SERVER管理器依然报告过期错误,则将注册表HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\Microsoft SQL Server\100\Configur

Sql Server 2017下载地址及密钥

佚名2019-10-16数据库 1346° 0
下载地址:ed2k://|file|cn_sql_server_2017_developer_x64_dvd_11296175.iso|1769777152|E21AE7C3576C0BDF1BC0ADC541217FAC|/Enterprise Core:6GPYM-VHN83-PHDM2-Q9T2R-KBV83Developer:22222-00000-00000-00000-00000Enterprise:TDKQD-PKV44-PJT4N-TCJG2-3YJ6BStrandard:PHDV4-3VJWD-N7JVP-FGPKY-XBV89Web:WV79P-7K6YG-T7QFN-M

SQL去掉最后一个字符

佚名2019-10-22数据库 1680° 0
SELECT SUBSTRING('字符串', 1, LEN('字符串') - 1); --从第一位开始,截取到第n-1位SELECT LEFT('字符串', LEN('字符串') - 1); --从左侧截取n-1位

Sql Server找不到列 "dbo" 或用户定义的函数或聚合“你的函数名”

佚名2019-11-21数据库 1318° 0
原因是可能是因为你把表值函数当成标量函数使用改过来就行。

sqlite isnull函数

佚名2019-11-22数据库 1092° 0
在SQLite中没有isnull函数,想要使用isnull函数,可以使用ifnull函数,跟isnull用法一样。demo:select ifnull(catid,0) from category

sqlite时间函数及时间日期处理

佚名2019-11-22数据库 969° 0
SQLite 包括以下五个时间函数:date(日期时间字符串, 修正符, 修正符, ……)time(日期时间字符串, 修正符, 修正符, ……)datetime(日期时间字符串, 修正符, 修正符, ……)julianday(日期时间字符串, 修正符, 修正符, ……)strftime(日期时间格式, 日期时间字符串, 修正符, 修正符, ……)上述五个函数需要一个日期时间字符串做参数,后面可以跟零到多个修正符参数。而 strftime() 函数还需要一个日期时间格式字符串做第一个参数。date() 函数返回一个以 'YYYY-MM-DD' 为格式的日期;time() 函数返回一个以 'YY

sqlite取第一行

佚名2019-11-22数据库 1003° 0
SELECT * FROM 表名 WHERE 条件句 ORDER BY 排序字段 LIMIT 1 或者SELECT * FROM 表名 WHERE 条件句 ORDER BY 排序字段 LIMIT 0,1注意,LIMIT 要放在末尾。

SQLite查询优化

佚名2019-11-25数据库 807° 0
Sqlite是轻量级的,在编译之后很小,其中一个原因就是在查询优化方面比较简单,它只是运用索引机制来进行优化的,经过对SQLite的查询优化的分析以及对源代码的研究,我将SQLite的查询优总结如下:一、影响查询性能的因素:1. 对表中行的检索数目,越小越好2. 排序与否。3. 是否要对一个索引。4. 查询语句的形式二、几个查询优化的转换1. 对于单个表的单个列而言,如果都有形如T.C=expr这样的子句,并且都是用OR操作符连接起来,形如: x = expr1 OR expr2 = x OR x = expr3 此时由于对于OR,在SQLite中不能利用索引来优化,所以可以将它转换成带有I

SQLite3一列多行合并为一列一行

佚名2019-12-09数据库 1010° 0
A B ---------- 1 中 1 人 2 三2 天2 李变成:A B-------------------1 中,人2 三,天,李--GROUP_CONCAT()函数用来合并列的内容SELECT A,GROUP_CONCAT(B) FROM TEST GROUP BY A

SQLite换行符

佚名2019-12-09数据库 1412° 0
通常我们对换行一般是直接替换”\r\n”即可,但是在SQLite中,换行的表示并不是这样的,在SQLite中对应的是:X'0D'||X'0A'于是替换的sql语句为:update 表名 set 字段名=REPLACE(字段名,X'0D'||X'0A','要添加的部分'||X'0D'||X'0A');

sql with as递归的实现(树形结构)

佚名2019-12-17数据库 967° 0
WITH AS短语,也叫做子查询部分(subquery factoring),定义一个sql 片段,改sql 片段会被整个sql语句用到。其中最实用的功能就是数据的递归,递归的原理:递归包括至少两个查询,一个查询作为递归的基点也就是起点,另一个查询作为递归的成员。一、定义一个公司(company)表 ,总公司下面包含子公司,子公司下面又包含分办事处CREATE TABLE [dbo].[Company]( [id] [NVARCHAR](50) NOT NULL, --Id 主键 [companyName] [NVARCHAR](50) NULL, --公司名称

重置sql server数据库标识

佚名2020-01-13数据库 844° 0
DBCC CHECKIDENT('表名', RESEED, 0);

Sqlite判断表、字段是否存在

佚名2020-01-22数据库 918° 0
sqlite会自动维护一个系统表sqlite_master,该表存储了我们所创建的各个table, view, trigger等等信息。sqlite_master表数据字段:type: 类型,取值一般为table, viewname: tbl_name: 表名rootpage:sql:创建表或者视图的sql语句,可以从该sql语句中判断某字段是否存在sqlite_master表结构如下:CREATE TABLE sqlite_master ( type TEXT, name TEXT, tbl_name TEXT, rootpage INTEGER, sql

SQL Server错误15023:当前数据库中已存在用户或角色

佚名2020-02-21数据库 757° 0
在使用SQL Server 2008时,我们经常会遇到一个情况:需要把一台服务器上的数据库转移到另外一台服务器上。而转移完成后,需要给一个”登录”关联一个”用户”时,往往会发生错误:“错误15023:当前数据库中已存在用户或角色”这个问题非常棘手,几经排常找到了原因与解决方法,因为这个问题与解决方法均比较复杂,所以把这个过程中的一些经验纪录下来与大家分享,希望能对大家以后的类似操作有所帮助。原因及解决办法如下:首先介绍一下sql server中“登录”与“用户”的区别,“登录”用于用户身份验证,而数据库“用户”帐户用于数据库访问和权限验证。登录通过安全识别符 (SID) 与用户关联。将数据库

sqlite选择前几条数据

佚名2020-02-25数据库 1001° 0
SqlLite没有使用top,而是使用limit。案例:SELECT * FROM Table ORDER BY ID DESC Limit 10,9;解释:limit语义:跳过10行,取9行。

sql执行字符串

佚名2020-03-27数据库 844° 0
使用execute来执行字符串DECLARE @sql VARCHAR(200);SET @sql = 'select * from tablename';EXEC ( @sql );注意:exec sql和exec(sql)是有区别的。exec sql是执行存储过程。exec(sql)是执行sql字符串语句。

转换 varchar 值 '' 时溢出了整数列

admin2020-04-04数据库 4113° 0
执行sql语句报转换 varchar 值 '' 时溢出了整数列错误。检查后发现是条件中将数字字符串和数值进行比较,如'15678646578646487846'=485,将其都改为字符串就可以,'15678646578646487846'='485'。

sqlite日期筛选

佚名2020-05-09数据库 917° 0
where date(CreateDate)=date('2020-05-10');

SQLite数据类型

佚名2020-05-19数据库 732° 0
SQLite 数据类型SQLite 数据类型是一个用来指定任何对象的数据类型的属性。SQLite 中的每一列,每个变量和表达式都有相关的数据类型。您可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。SQLite 存储类每个存储在 SQLite 数据库中的值都具有以下存储类之一:存储类描述NULL值是一个 NULL 值。INTEGER值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。REAL值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。TEXT值是一个文

NULLIF和ISNULL连用问题

佚名2020-06-30数据库 750° 0
首先看看SQL SERVER 联机丛书的信息,其中我们该注意的地方我用红字标出:ISNULL使用指定的替换值替换 NULL。语法ISNULL ( check_expression , replacement_value )参数check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。返回类型返回与 check_expression 相同的

sql 时间格式为空, 则显示默认1900-01-01

佚名2020-07-07数据库 1008° 0
SELECT CAST(NULLIF('', '') AS DATETIME), CAST('' AS DATETIME), ISNULL(CAST(NULLIF('', '') AS DATETIME), GETDATE());

SQL Server创建约束,唯一,主键图解

佚名2020-07-14数据库 716° 0
SQLServer中有五种约束,Primary Key约束、Foreign Key约束、Unique约束、Default约束和Check约束,今天使用SQL Server2008来演示下这几种约束的创建和使用的方法。什么是主键?在数据库中,常常不只是一个表,这些表之间也不是相互独立的。不同的表之间需要建立一种关系,才能将它们的数据相互沟通。而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的。通过这个字段中不同的值可以区别各条记录。就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可

SQL合并列值和拆分列值

佚名2020-08-10数据库 799° 0
合并列值表结构,数据如下:需要得到结果:即:group by id, 求string的和(字符串相加)CREATE TABLE tb ( id INT, string VARCHAR(10));INSERT INTO tb VALUES ( 1, 'aa' );INSERT INTO tb VALUES ( 1, 'bb' );INSERT INTO tb VALUES ( 2, 'aaa' );INSERT INTO tb VALUES ( 2, 'bbb' );INSERT INTO tb VALUES ( 2, 'ccc' );SELECT * FROM dbo.tb;方法1SELEC

sql server添加前导0

佚名2020-10-21数据库 858° 0
通过添加几个固定前导0再取右边几位的方式。DECLARE @SN INT;DECLARE @SNLen INT;SET @SNLen = 5;SET @SN = 1;SELECT RIGHT('0000000000' + CAST(@SN AS VARCHAR(10)), @SNLen);SET @SN = 333;SELECT RIGHT('0000000000' + CAST(@SN AS VARCHAR(10)), @SNLen);SET @SN = 55555;SELECT RIGHT('0000000000' + CAST(@SN AS VARCHAR(10)), @SNLen);

Sql Server资源占用情况查看

佚名2020-11-30数据库 1530° 0
1、查看CPU占用量最高的会话及SQL语句SELECT spid, cmd, cpu, physical_io, memusage, (SELECT TOP (1) [text] FROM::fn_get_sql(sql_handle)) sql_textFROM master..sysprocessesORDER BY cpu DESC, physical_io DESC;2、查看缓存重用次数少,内存占用大的SQL语句SELECT TOP(100) p.usecounts, p.objtype, p.size_in_bytes, sql.textFROM sys.dm_exec_cache

SQL Server创建表语句

佚名2017-09-23数据库 1271° 0
create table 表名 ( 字段名 int identity(1,1) primary key, 字段名 varchar(50) not null )

SQL临时表

佚名2017-09-27数据库 1001° 0
创建临时表方法一:create table #临时表名(字段1 约束条件,字段2 约束条件,.....)create table ##临时表名(字段1 约束条件,字段2 约束条件, .....)方法二:select * into #临时表名 from 你的表;select * into ##临时表名 from 你的表;注:以上的#代表局部临时表,##代表全局临时表查询临时表select * from #临时表名; select * from ##临时表名;删除临时表drop table #临时表名;drop table ##临时表名;

查找存储过程内容

佚名2017-09-30数据库 1085° 0
SELECT OBJECT_NAME(id),* FROM syscomments WHERE text like'%查找内容%'

SQL 索引

佚名2017-09-30数据库 1256° 0
索引加快检索表中数据的方法,它对数据表中一个或者多个列的值进行结构排序,是数据库中一个非常有用的对象。当需要快速找出在某个列中有一特定值的行例如:有一张person表,其中有2W条记录,记录着2W个人的信息。有一个Phone的字段记录每个人的电话号码,现在想要查询出电话号码为xxxx的人的信息。如果没有索引,那么将从表中第一条记录一条条往下遍历,直到找到该条信息为;如果有了索引,那么会将该Phone字段,通过一定的方法进行存储,好让查询该字段上的信息时,能够快速找到对应的数据,而不必在遍历2W条数据了。使用索引虽然可以提高系统的性能,增强数据检索速度,但它需要占用大量的物理存储空间,建立索引

sql server数据库所有表里查找某字符串的方法

佚名2019-11-14数据库 1850° 0
SELECT CONVERT(VARCHAR(255), '') dsca INTO #y WHERE 1 = 0;-- delete #yDECLARE @s VARCHAR(255);SET @s = '搜索字符串';DECLARE bbb CURSOR FORSELECT TABLE_NAME, column_nameFROM INFORMATION_SCHEMA.COLUMNSWHERE table_name IN (SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_type = 'BASE TABLE' AND

sql server所有查找

佚名2017-10-12数据库 1159° 0
--查询数据库中的所有数据库名 SELECT Name FROM Master..SysDatabases ORDER BY Name --查询某个数据库中所有的表名 SELECT Name FROM SysObjects Where XType='U' ORDER BY Name --查询某表所有字段名 SELECT B.name as columnname FROM sysobjects A, syscolumns B WHERE A.id=B.id and A.type='U'AND A.name ='表名'

SQL Server数值转字符串

佚名2017-10-13数据库 1271° 0
SQL Server中的数值类型分为两种,一种是精确的数值类型,具体的数据类型有:bit、tinyint、smallint、int、bigint、smallmoney、money和decimal,这些数据类型能够精确的表明某以数值;另一种是近似的数值类型,具体就是float和real。浮点数据为近似值,因此,并非数据类型范围内的所有值都能精确地表示。有些时候我们需要将这些数值类型转换为字符串类型,用到的转换函数就是cast和convert,这两个函数的作用都是进行类型转换,只不过语法格式不同。据说在转换时还是有一定的区别的,不过我个人更习惯于使用convert函数,应该这个函数一方面更像是个

case when then 中判断null的方法

佚名2017-10-13数据库 1063° 0
Sql Server 中使用case when then 判断某字段是否为null,和判断是否为字符或数字时的写法不一样,如果不注意,很容易搞错。错误方法:CASE columnName WHEN null THEN 0 ELSE columnName END正确方法:CASE WHEN columnName is null THEN 0 ELSE columnName ENDCase具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN &#3

SQL SERVER创建存储过程不报错,但是执行存储过程报错

佚名2017-10-13数据库 1429° 0
创建该存储过程时,不会出错,但是执行存储过程时,会报出这样的错误:对象名/列名“***”无效这是因为在存储过程创建时,它先做语法检查,如果通过了语法检查,它会尝试解析它包含的对象名,如果存在也会解析该对象引用的对象是否存在。如果引用的对象名不存在,解析会在存储过程首次执行时触发。即在首次执行存储过程时,查询处理器从 sys.sql_modules 目录视图中读取该存储过程的文本,并检查该过程所使用的对象名称是否存在。这一过程称为延迟名称解析,因为存储过程引用的表对象不需要在创建该存储过程时就存在,而只需在执行该存储过程时存在。注意: 只有当引用的表对象不存在时才能使用延迟名称解析。所有其他

SQL Server DATEDIFF() 函数

佚名2017-10-13数据库 1145° 0
定义和用法DATEDIFF() 函数返回两个日期之间的时间。语法DATEDIFF(datepart,startdate,enddate)startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值:实例例子 1使用如下 SELECT 语句:SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate结果:例子 2使用如下 SELECT 语句:SELECT DATEDIFF(day,'2008-12-30','2008-12-29')

SQL Server开放防火墙配置

佚名2017-10-31数据库 1175° 0
1.打开SQL Server 配置管理器查看端口。2.新建入站规则允许1433端口。

SQL语句去除所有HTML标签

佚名2017-09-21数据库 1287° 0
--创建方法: CREATE FUNCTION [dbo].[f_trimstr] ( @str NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN WHILE CHARINDEX('<', @str) > 0 SET @str = STUFF(@str, CHARINDEX('<', @str), CHARINDEX('>', @str) - CHARINDE

SQL Server用一个表的数据更新另一个表中的数据

佚名2017-11-07数据库 1241° 0
update a set a.status=b.status from table1 a,table2 b where a.id=b.id

sql使用表变量遍历结果集

佚名2017-11-15数据库 1288° 0
-- 声明表变量 DECLARE @temp TABLE ( empid INT ); -- 将源表中的数据插入到表变量中 INSERT INTO @temp(empid) SELECT empid FROM Employees; -- 声明变量 DECLARE @empid AS INT WHILE EXISTS(SELECT empid FROM @temp) BEGIN SELECT TOP 1 @empid= empid FROM @temp; --数据处理 DELETE FROM @temp WHERE empid=@

SQL序号

佚名2017-11-27数据库 1233° 0
SELECT ROW_NUMBER() OVER (ORDER BY 字段) AS 序号,* FROM 表

SQL字符串转数字

佚名2018-10-23数据库 1259° 0
SELECT CONVERT(DECIMAL(10,4),'5') --DECIMAL的长度和小数位数根据自己需要设定 SELECT CONVERT(INT,'5')--整数

sql count 去重复

佚名2017-12-01数据库 1107° 0
SQL COUNT不重复的记录个数SELECT COUNT(DISTINCT(字段名)) FROM TABLE查询出来的值不重复可以使用 GROUP BY '字段名'

Access2016执行SQL

佚名2017-12-20数据库 1397° 0
创建——查询设计。关闭显示表。打开SQL视图。编写SQL语句。

SQL备份出错

佚名2017-09-21数据库 1466° 0
因为原先格式化该文件时所用扇区大小为 512,而目前所在设备的扇区大小为 4096。从数 据 库中删除该数 据 库之前的备份记录,如下图,删除下面红色框中的记录再备份即可这主要是由于当初备份时的硬盘是用512扇区大小格式化的,而现在的硬盘扇区大小是4096。

SQL Server查询优化

佚名2019-04-28数据库 1589° 0
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 可以通过如下方法来优化查询1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸

聚集索引和非聚集索引

佚名2019-04-28数据库 975° 0
一.索引简介众所周知,索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+树以及Hash结构,聚集索引以及非聚集索引用的是B+树索引。这篇文章会总结SQL Server以及MySQL的InnoDB和MyISAM两种SQL的索引。SQL Sever索引类型有:唯一索引,主键索引,聚集索引,非聚集索引。MySQL 索引类型有:唯一索引,主键(聚集)索引,非聚集索引,全文索引。二.聚集索引聚集(clustered)索引,也叫聚簇索引。定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。单单从定义来看是不是显得有点抽象

Sql Server中的表访问方式Table Scan, Index Scan, Index Seek

佚名2019-04-29数据库 1231° 0
1.sql server中clustered index scan,table scan,index scan在sql server中,对表中数据从头到尾一行一行的进行出来就是表扫描。这里的处理我们可以理解为sql中where子句的条件判断。我们需要遍历表中的每一行,判断是否满足where条件。最简单的table scan是select * from table。索引扫描就是对索引中的每个节点从头到尾的访问。假设我们的索引是B树结构的,那么index scan就是访问B树中的每一个节点。假如索引是聚集索引,那么B树索引的叶子节点保存的是数据页中的实际数据。假如索引是非聚集索引,那么B树叶子节

SQL Server执行效率和性能测试

佚名2017-12-27数据库 1141° 0
通过SQL SERVER的工具栏按钮“包括实际的执行计划”和“包括客户端统计信息”。查询完成后在下方查看。根据提示进行优化。需要创建索引的参考“SQL 索引”。

SQL Server定时执行SQL语句

佚名2019-05-10数据库 959° 0
SQL SERVER 定时任务,你可以启动一下。不过要想更加直观的控制,直接写一个程序,定时执行你的存储过程。1、设置“SQL Server 代理”(SQL Server Agent)服务随系统启动,打开快捷命令 services.msc --我的电脑--控制面板--管理工具--服务--右键SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.2、SQL Server Management Studio -- SQL Server 代理 -- 作业 -- 新建作业作业设置如下:“常规” -- 设置名称“步骤” -- 设置步骤名称 -- “类型”T-SQL -- 选择数

SQL server插入特殊字符后变问号

佚名2019-05-11数据库 1124° 0
将数据类型由varchar改为nvarchar,插入的字符串前面加“N”,如N'Male'。详细说明见“SQL数据库保存特殊字符”。

SQL数据库保存特殊字符

佚名2019-05-11数据库 940° 0
数据库的Char、Vachar类型可以兼容汉字,但特殊字符不行,在保存包含有特殊字符的字符串、正文时,会将特殊符号替换成一个”?”号。例如: “基础教育课程手机报•特刊” == 》 “基础教育课程手机报?特刊”解决办法是将字段改成NChar,NVarchar等类型,在入库的时候每个字符串插入前都加入一个N,如N’lily’、N’Male’,兼容性会更好,作为Nvarchar字段,这是一种推荐做法!小贴士:char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到

由于文件组PRIMARY中的磁盘空间不足,无法为数据库''分配新页。

佚名2019-05-11数据库 2371° 0
将数据库中的表的字段类型由varchar改为nvarchar后,保存提示“由于文件组 'PRIMARY 中的磁盘空间不足,无法为数据库''分配新页。请删除文件组中的对象、将其他文件添加到文件组或者为文件组中的现有文件启用自动增长,以便增加必要的空间。无法创建约束或索引。”。解决方法:1.确定数据库所在的磁盘空间足够用。2.数据库->属性->文件->自动增长->最大文件大小->不限制文件增长。

MSSQL查看语句执行情况

佚名2019-05-14数据库 1110° 0
在写SQL语句时,必须知道语句的执行情况才能对此作出优化。了解SQL语句的执行情况是每个写程序的人必不可少缺的能力。下面是对查询语句执行情况的方法介绍。一、设置STATISTICSSTATISTICS选项有PROFILE,IO ,TIME。SET STATISTICS PROFILE ON:显示每个查询执行后的结果集,代表查询执行的配置文件。SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。SET STATISTICS TIME ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。使

设置密码使用期限策略

佚名2019-05-18数据库 1062° 0
在管理工具打开本地安全策略,打开路径:安全设置\帐户策略\密码策略,将密码最长使用期限设置为30-180之间,建议值为90,将密码最短使用期限设置为1-14之间,建议值为7。

SQL URL解码

佚名2019-05-18数据库 1391° 0
CREATE FUNCTION FN_URLDecode( @Str VARCHAR(8000)--已经编码的字符串)RETURNS VARCHAR(8000)ASBEGIN DECLARE @Position INT; --'%'字符所在位置 DECLARE @Chr CHAR(16); --字符常量 DECLARE @Pattern CHAR(21); DECLARE @ParseStr VARCHAR(8000);--解码后的字符串 DECLARE @Hex UNIQUEIDENTIFIER;--定义16进制模板,因为GUID方便

SQL ISNULL返回异常

佚名2019-05-24数据库 995° 0
想把date数据类型的字段做一个处理,不是NULL返回字段数据,是NULL的时候返回空字符串。SELECT ISNULL(字段名,'') FROM 表名结果当NULL的时候返回的是1900-01-01,而不是我想要的空字符串。查找资料发现ISNULL(check_expression, replacement_value)check_expression 与 replacement_value 数据类型必须一致如果 check_expression 为 NULL,则返回 replacement_value如果 check_expression 不为 NULL,则返回 check_expres

Sql Server数据类型转换

佚名2019-05-24数据库 871° 0
T-SQL提供了两个显示转换的函数:CAST函数和CONVERT函数。1. CAST函数语法:CAST ( expression AS data_type [ ( length ) ] )示例:SELECT CAST(100 AS CHAR(3))2. CONVERT函数语法:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )示例:SELECT CONVERT(TIME, '2014-11-30 10:20:29')

sql server中isnull(Null,0) 和isnull(' ',0) 区别

佚名2019-05-24数据库 1012° 0
SELECT ISNULL(NULL,0) WHERE ISNULL(NULL,0)=0 SELECT ISNULL(' ',0) WHERE ISNULL(' ',0)=0SELECT ISNULL(NULL,0) WHERE ISNULL(NULL,0)='0'SELECT ISNULL(' ',0) WHERE ISNULL(' ',0)='0'上面sql看似没有多大区别,但是当你踩过坑之后就明白还是有区别的。isnull(null,0)=0 isnull(null,0)='0'都是对的但是isnull(' ',0)=0是对的 isnull(' ',0)='0'就不对了测试一下就知道:

SQL日期加一天

佚名2018-01-03数据库 1904° 0
select DATEADD(DAY,1,GETDATE())--给表中的日期列加上一天:DATEADD(DAY,1,日期)

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'XXX' 中的标识列插入显式值。

佚名2018-11-01数据库 1277° 0
想往主键ID里面添加自定义的编号。结果每次都执行失败。解决办法是将显式值插入表的标识列中的功能打开,用完这个功能之后再关闭。###允许将显式值插入表的标识列中 ON-允许 OFF-不允许SET IDENTITY_INSERT 表名 ON;--插入语句SET IDENTITY_INSERT 表名 OFF;注意需要显示指定列名,即insert into 表(列名1...)。

请确保您的数据库兼容模式设置为 90。

佚名2018-01-09数据库 2109° 0
解决方法:右键数据库->属性->选项->兼容级别调整为sql server 2005 以上。

sql添加换行

佚名2018-01-24数据库 1136° 0
char(9) 水平制表符char(10)换行键char(13)回车键INSERT INTO TABLE(txt) VALUES('a'+char(10)+'b')

sql位运算符&(位与)、~(位非)、|(位或)、^(位异或)

佚名2020-09-06数据库 1350° 0
十进制 170 转二进制为:0000 0000 1010 1010十进制 75 转二进制为:0000 0000 0100 1011 1.&(位与)上下运算,按照与的运算规则:0&0=0 ;0&1=0;1&1=1例如:170 & 75 结果为:0000 0000 0000 1010再把二进制转换为十进制:10 2.~(位非)运算法则:0变1,1变0~170 的二进制:1111 1111 0101 0101 十进制为:-171~75 的二进制:1111 1111 1011 0100 十进制为:-76 3.|(位或)上下运算,按照与的运算规则:0&0=0 ;0&1=1;1&1=1例如:17

SQL 2的n次方

佚名2018-01-25数据库 1324° 0
SELECT POWER(2,n)

SQL“多字段模糊匹配关键字查询”

佚名2018-02-07数据库 1400° 0
我们开发数据库应用时,常常需要用到模糊查询。如果同一个条件需要匹配很多字段怎么办呢?通常,程序员会每个字段都在SQL中“field like'%cond%'”一次。这样,SQL语句会长得惊人,碰上复杂一点的,甚至SQL语句会因为超长而被数据库拒绝执行。其实,这个问题只要动动脑筋就很容易解决:首先,将要匹配相同条件的字段连起来(field1+field2+...)成一个长字符串;然后再 Like “%cond%”就可以了。不过这种方法有个问题,就是得权衡多表连接造成的效率降低。一般来说,单表内字段肯定应该连接后再统一like判断;表间字段,则需要先过滤后,再实行这个策略。采取这

SQL Server代码格式化

admin2020-02-25数据库 1612° 0
安装SQL prompt插件,选择菜单SQL Prompt——Format SQL。

SqlServer查询某个表的列名称、说明、备注、类型等

佚名2018-02-13数据库 1263° 0
SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = a.name, 标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 t

sql server给数据表,字段,添加修改注释

佚名2018-03-01数据库 1698° 0
1、 给表添加注释-- 表加注释 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注释内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'表名' --例如: EXEC sys.sp_addextendedproperty @name=N'MS_Description', @valu

SQL ORDER BY 排序

佚名2017-09-21数据库 1293° 0
ORDER BY 语句ORDER BY 语句用于根据指定的列对结果集进行排序。ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。多字段排序需要单独设置每个字段排序方式,否则默认升序。

SQL表变量

佚名2020-09-04数据库 1130° 0
DECLARE @tmp TABLE --声明表变量( id INT --字段);

sql with as

佚名2018-04-03数据库 1054° 0
是公用表表达式,可以理解为创建临时表。比如WITH A AS(SELECT * FROM TABLE1) SELECT * FROM A和VIEW类似,VIEW语句是真正的创建了一个对象,WITH AS 公用表表达式不创建对象,但能被后随的SELECT,INSERT,UPDATE等语句使用,可以像一个表一样在后续的语句中设定WHERE条件或连接其他表等。

sql去除字段中换行符,回车符

佚名2018-10-30数据库 2005° 0
SQL中可以使用Replace函数来对某个字段里的某些字符进行替换操作,语法如下:语法REPLACE ( original-string, search-string, replace-string )参数如果有某个参数为 NULL,此函数返回 NULL。original-string 被搜索的字符串。可为任意长度。search-string 要搜索并被 replace-string 替换的字符串。该字符串的长度不应超过 255 个字节。如果 search-string 是空字符串,则按原样返回原始字符串。 replace-string 该字符串用于替换 search

sql修改日期保留时间

admin2018-04-11数据库 1171° 0
UPDATE tablename SET dates='2017-01-01 '+CONVERT(varchar(100),dates,14)如果需要不同形式的日期和时间,可以参考“SQL 将日期格式转换为常用字符串格式”。

SQL合并列值,将一列的多个值合并成一行

佚名2018-04-13数据库 1261° 0
oralce写法:select WM_CONCAT(A.title) as title from tablename Asql server写法:SELECT (SELECT title+',' FROM tablename FOR XML PATH('')) AS titlemysql写法:select GROUP_CONCAT(A.title) as title from tablename A; --默认的逗号分隔select GROUP_CONCAT(A.title SEPARATOR ' ') as title from tablename A; --用空格分隔如果

sql分组取第一条

佚名2018-04-16数据库 1113° 0
SELECT * FROM(SELECT ROW_NUMBER() OVER (PARTITION BY id ORDER BY addTime DESC) rowId, * FROM tablename)A WHERE rowId=1;

Sql Server UniCode编码解码

佚名2019-07-27数据库 963° 0
declare @s varchar(50);set @s = N'揶';select UniCode(@s),nchar(UniCode(@s));在 SQL Server 中处理 Unicode 字串常数时,您必需在所有的 Unicode 字串前加上大写字母 N 做为前置词,N 前置词代表的是 SQL-92 标淮中的国家语言,且必须为大写。如果您没有在 Unicode 字串常数前面加上 N 做为前置词,则 SQL Server 会在使用字串前,先将其转换成目前资料库的非 Unicode 字码页。

String or binary data would be truncated.

佚名2019-08-11数据库 1318° 0
字面意思是“字符串或二进制数据将被截断。”解决方案就是把数据库字段的大小改大点。比如nvarchar(10) 改成nvarchar(50)。

JQuery跳出each循环的方法(包含数组遍历)

佚名2019-08-17数据库 1069° 0
0. 前言也许我们通过 jquery 的循环方法进行数组遍历,但是当不符合条件时,怎么跳出当前循环?(即用each方法内,当不满足条件时想break跳出循环体,想continue继续执行下一个循环遍历),我们经常会习惯JS中的break何continue,但是使用之后没有效果,因为在JQuery中没有这两条命令,非其关键字。1. JQuery each循环,要实现break和continue的功能break ----用return false; continue --用return ture;2. JQuery怎么跳出当前的each循环API 上的说明只有跳出整个循环(如果需要退出 ea

SQL Server中服务器角色和数据库角色权限详解

佚名2019-08-17数据库 830° 0
角色当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。数据库角色的成员可以分为如下几类:Windows用户组或用户账户SQL Server登录其他角色SQL Server的安全体系结构中包括了几个含有特定隐含权限的角色。除了数据库拥有者创建的角色之外,还有两类预定义的角色。这些可以创建的角色可以分为如下几类:固定服务器固定数据库用户自定义固定服务器由于固定服务器是在服务器层次上定义的,因此它们位于从属于数据库服务器的数据库外面。下表列出了所有现有的固定服

SQL Server权限设置

佚名2019-08-17数据库 1036° 0
1、打开MS SQL Server Management Studio,以 Windows身份认证方式登录。2、在对象资源管理器下,“安全”==>“登陆名”==>右键 "属性" ==> "新建登录名"。3、打开“登录名- 新建”对话框后,常规==>选择“SQL Server 身份验证”==>填写“登陆名” and "密码",选择默认数据库。设置服务器角色选项卡设置用户映射选项卡设置状态选项卡输入完成后确认4、对象资源管理器 下,右键服务器实例名称,选择属性,在安全性选项卡下,服务器身份验证中,选择“SQL Server 和Windows身份验证模式”。5、断开连接,重新连接时用“SQL Se

sql过滤HTML标签提取纯文本

佚名2019-08-25数据库 881° 0
CREATE FUNCTION [dbo].[f_trimstr] ( @str NVARCHAR(MAX) )RETURNS NVARCHAR(MAX)AS BEGIN WHILE CHARINDEX('<', @str) > 0 SET @str = STUFF(@str, CHARINDEX('<', @str),CHARINDEX('>', @str) - CHARINDEX('<', @str) + 1,'') RETURN @str; END

主流数据库常用内容对比

佚名2019-09-06数据库 1230° 0
1、表名和列名使用时候区分大小写Sqlserver:不区分,和语句保持一致Oracle:设计全部显示为大写,查询结果以大写展示MySql: 设计中将以小写显示,查询以小写展示【lower_case_table_names = 1,】PostgreSql:设计建议小写,查询时候全部按小写 (如果需要区分大小写,需要使用’,如: ‘tableName’)SqlLite:不区分,和语句保持一致2、视图Sqlserver:支持Oracle:支持MySql:支持PostgreSql:支持SqlLite:支持3、存储过程Sqlserver:支持Oracle:支持MySql:支持PostgreSql:支持

SQLite下载安装与使用

佚名2019-09-12数据库 1281° 0
1、下载并安装登录SQLite官网:https://www.sqlite.org/index.html,下载SQLite已经编译过的文件(Precompiled Binaries for Windows),在这里,我下载了sqlite-dll-win32-x86-3270200.zip和sqlite-tools-win32-x86-3270200.zip(均为当前最新版)。前者为sqlite的运行库,后者为sqlite的命令行运行工具。在磁盘中添加目录(如:C:\SQLite),将下载的文件都解压到该文件夹下,此时该文件夹会包含以下文件:sqlite3.def、sqlite3.dll、sql

MySQL8.0.15安装教程

佚名2019-09-17数据库 1275° 0
一、官网下载MySQL8.0.15直达官网下载Community版:https://dev.mysql.com/downloads/mysql/二、安装下载完压缩包之后就解压,再创建一个同级空目录mysqlData,再进入mysql8.0.15安装根目录创建一个my.ini配置文件。[mysqld]# 设置3306端口port=3306# 自定义设置mysql的安装目录,即解压mysql压缩包的目录basedir=E:\MySQL\mysql-8.0.15-winx64# 自定义设置mysql数据库的数据存放目录datadir=E:\MySQL\mysqlDate# 允许最大连接数max_c

MySql三种注释写法

佚名2019-09-19数据库 972° 0
MySql--三种注释写法-- 这种注释后面要加一个空格(需要特别注意)#DELETE FROM SeatInformation/*DELETE FROM SeatInformation */-- DELETE FROM SeatInformation

删除SQL Server作业错误547

佚名2019-09-23数据库 2242° 0
删除SQL Server作业报错:执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)。解决方法:USE MSDB;GODECLARE @jobName VARCHAR(100);SET @jobName = 'test.Subplan_1';DELETE FROM dbo.sysmaintplan_subplans WHERE job_id IN (SELECT job_id FROM dbo.sysjobs WHERE name LIKE '%' + @jobName + '%');--执行成功后在Manag

通过分离和附加转移SQL server数据库

佚名2019-10-16数据库 909° 0
想从一台电脑的数据库复制到另外一台电脑上,本想通过备份和还原的方式,但是出错了,于是采用分离和附加的方式。1.数据库分离数据选中你要分离的数据库,然后右击,再选中任务,之后你就会看到分离这个字段后直接点击它,选中删除连接,点击确定。2.拷贝数据库文件复制数据和日志文件到别的电脑上,也可以只复制数据文件。(创建一个数据库都会生成两个文件,一个是数据文件,一个是记录日志啥的,log类型的是数据文件,mdf类型的是日志文件)4.到数据库里附加数据复制完文件后,我们直接到SQL Server(也就是数据库)里直接选中数据库然后右击附加数据就ok了。

SQL搜索存储过程

佚名2018-05-03数据库 1237° 0
--查找存在某表名的存储过程 SELECT DISTINCT b.name FROM syscomments a , sysobjects b WHERE a.id = b.id AND a.text LIKE '%你要查找的表名%'; --查找存在某内容的存储过程 SELECT name FROM sysobjects o , syscomments s WHERE o.id = s.id AND text LIKE '%你要查找的内容%' AND o.xtype =

SQL获取刚插入的标识值

佚名2018-05-10数据库 1236° 0
INSERT INTO 表名(字段) VALUES(值) SELECT IDENT_CURRENT( '表名' )

配置MySQL

佚名2018-11-05数据库 1161° 0
1.配置环境变量选择PATH,在其后面添加: 你的mysql bin文件夹的路径 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )PATH=.......;C:\Program Files\MySQL\MySQL Server 5.6\bin (注意是追加,不是覆盖)2.配置服务,用管理员身份运行命令提示符。安装:mysqld --install [服务名]移除:mysqld --remove [服务名][服务名]为可选参数,默认不填写则为 MySQL。3.在 mysql 命令提示符下,修改 root 帐号的密码:set password =

VS Shell 安装失败,退出代码为 1638

佚名2018-10-21数据库 5066° 0
根据日志提示“安装 Microsoft Visual C++ 2015 Redistributable 时出错 VS Shell 安装失败,退出代码为 1638”。解决办法就是:先将两个Microsoft Visual C++ 2017 Redistributable 一个是64版本,一个是32位版本,都卸载掉,再重新安装Sql Server,就Ok了。

SQL Server Mamngement Studio(SSMS)不能更改文本编辑器字体大小

佚名2018-10-21数据库 3254° 0
下载一个英文版本的升级程序更新,即可解决下拉框中没有文本编辑器的问题,也就可以设置字体及颜色了。本人v17.5升级到17.6还是有此问题,下载了一个英文版本的17.6的升级程序,安装后完美解决。

该帐户当前被锁定,所以用户 'sa' 登录失败。系统管理员无法将该帐户解锁。

佚名2018-05-31数据库 1087° 0
ALTER LOGIN 用户名 ENABLE ; GO ALTER LOGIN 用户名 WITH PASSWORD = 'password' unlock, check_policy = off, check_expiration = off ; GO

SQL合并行

佚名2018-06-06数据库 1083° 0
SELECT DISTINCT A.分组字段, (SELECT 字段+',' FROM TableName WHERE 分组字段=A.分组字段 FOR XML PATH('')) AS '合并字段'FROM TableName A;SELECT (SELECT 字段+',' FROM TableName FOR XML PATH('')) AS '合并字段';

SQL列转行,行转列

admin2018-10-24数据库 1212° 0
测试数据CREATE TABLE StudentScores ( UserName VARCHAR(20), --学生姓名 Subject VARCHAR(30), --科目 Score INT --成绩 ) INSERT INTO StudentScores SELECT '张三', '语文', 80 INSERT INTO StudentScores SELECT '张三', '数学',

SQL VIEW(视图)

佚名2020-02-09数据库 1108° 0
创建视图:CREATE VIEW [视图名称] ASSELECT * FROM 表名修改视图:ALTER VIEW [视图名称] ASSELECT * FROM 表名删除视图:DROP VIEW [视图名称]

SQL添加标识列

佚名2018-06-25数据库 1254° 0
--将数据复制到临时表 select * into #tmp from 表名 --删除数据表 drop table 表名 --创建数据表(并设置标识列) create table 表名(id int identity(1,1),[date] datetime,version nvarchar(6),[class] nvarchar(10),actitle nvarchar(50),acdetail nvarchar(max),author nvarchar(50)) --设置标识列允许插入 set identity_insert 表名 on --将数据从临时表

SQL常用函数

佚名2020-10-21数据库 1452° 0
ISNULL(表达式1,表达式2)--如果表达式1不是NULL,返回表达式1,否则返回表达式2。DATALENGTH(Char_expr) --返回字符串包含字符字节数,一个汉字为两个字节,如:"abc"=3,“中华人民共和国”=14,“中华人民共和国abc”=17LEN(expression)--指定字符串或变量名称的长度,中文和英文字母及数字长度均为1,如“中华人民共和国”=7,“abc”=3,“中华人民共和国abc”=10。注意此时不能为length,必须为lenSUBSTRING(expression,start,length) --取子串RIGHT(char_expr,int_ex

SQL UNION

佚名2017-09-21数据库 1671° 0
将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。UNION的结果集列名与UNION运算符中第一个Select语句的结果集的列名相同。另一个Select语句的结果集列名将被忽略。其中两种不同的用法是UNION和UNION ALL,区别在于UNION从结果集中删除重复的行。如果使用UNION ALL 将包含所有行并且将不删除重复的行。

sql字符串相似度

佚名2018-08-01数据库 1332° 0
CREATE FUNCTION [dbo].[get_semblance_By_2words](@word1 VARCHAR(500), @word2 VARCHAR(500)) RETURNS INT AS BEGIN DECLARE @re INT; DECLARE @maxLenth INT; DECLARE @i INT, @l INT; DECLARE @tb1 TABLE(child VARCHAR(500)); DECLARE @tb2 TABLE(child VARCHAR(500)); SET @i=1;

Sql Server 创建定期自动备份任务

佚名2017-09-21数据库 1519° 0
首先需要启动SQLSERVERAGENT服务,这个服务如果不启动是无法运行新建作业的,点击“开始”–“所有程序”–“Microsoft SQL Server 2008”–“启动SQL Server Management Studio”登录数据库,点击管理–维护计划–右击维护计划向导如图所示:点击“维护计划向导”后跳出对话框,如图所示:点击“下一步”如图所示:填写好名称及相关说明作个记号,点击“更改” 来设定维护计划,如图所示:可以为选择执的时间段,每天、每周、每月可以根据你相应的需求来制定备份的时间,这里作演示就选择在每天的0:00进行,点击“确定”再点“下一步”如图所示:选择你需要备份的任

SQL SERVER数据库从一个服务器一个表插入到另一个服务器中的一个表

佚名2019-12-04数据库 1318° 0
一、如果经常访问或数据量大,建议用链接服务器--创建链接服务器EXEC sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'EXEC sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码' GO--查询示例:SELECT * FROM srv_lnk.数据库名.dbo.表名--导入示例:SELECT * INTO 表 from srv_lnk.数据库名.dbo.表名 GO--以后不再使用时删除链接服务器EXEC sp_dropserver 'srv_lnk','droplogin

SQL JOIN

佚名2017-09-21数据库 1632° 0
SQL JOIN用于根据两个或多个表中的列之间的关系,从这些表中查询数据。下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。JOIN: 如果表中有至少一个匹配,则返回行LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行FULL JOIN: 只要其中一个表中存在匹配,就返回行

Sql Server 启用sa账户

佚名2017-09-21数据库 1632° 0
1)、打开SQL Server Management Studio,并用windows身份验证2)、点击左侧的安全性->登录名->sa用户,右键属性3)、点击左侧“常规”,在右侧设置密码,某些版本还需要勾选“映射到凭据”,接着再选择左侧选择状态,右侧选择设置选为“授予”,登陆选为“启用”,确定4)、然后在根对象服务器上右击“属性”,选择左侧安全性的右侧服务器身体验证选为“SQL Server 和 Windows 身份验证模式”,确认后再在根对象服务器上右击“重析启动”服务

Sql Server 还原.bak文件数据库

佚名2017-09-21数据库 2372° 0
".....XXX.bak 媒体的结构簇不正确的问题媒体簇的结构不正确。SQL Server 无法处理此媒体簇。RESTORE HEADERONLY 正在异常终止。 (Microsoft SQL Server,错误: 3241)"出现这个问题一般只有两个原因,一可能是.bak文件损坏,二可能你用高版本的备分SQL Server 数据库 的.bak文件想在低版本的SQL Server 上还原。有时候你装了多个版本的SQL Server 在同一台机子上,你想用高版的SQL Server 还原打开SQL Server Management Studio时连接却是低版本的SQL

mysql下载与安装过程

佚名2018-08-31数据库 1364° 0
1:下载MySql 官网下载地址:https://dev.mysql.com/downloads/mysql/ 选择对应的下载文件。2:安装MySql 打开下载文件解压到指定文件目录。(我这里解压目录为D:\mysql) 打开解压后的MySql文件在根目录下创建my.ini (mysql配置文件) my.ini文件内容如下:(建议直接复制粘贴下面文件) 这里需要将basedir 与 datadir 路径改成mysql的解压路径 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port =

mysql8 :客户端连接caching-sha2-password问题

佚名2018-10-21数据库 1839° 0
问题描述:安装mysql8后,使用navicat连接mysql数据库时,发现无法连接。问题调查:从mysql8开始使用的加密方式为: caching-sha2-password,mysql workbench能识别的加密方式还是原来的:mysql_native_password,因此需要把mysql8的【root】用户的密码加密方式改为mysql_native_password。解决方法:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

无法从函数内访问临时表

佚名2018-08-31数据库 1253° 0
使用表变量。

Sql Server 备份集中的数据库备份与现有的xx数据库不同

佚名2017-09-21数据库 1238° 0
因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了:一、右击系统数据库master,新建查询执行以下SQL代码:RESTORE DATABASE xxxFROM DISK = 'E:\DB\xxx.bak' --bak文件路径with replace,MOVE 'xxx' TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\xxx.mdf', --mdf文件路径MOVE 'xxx_log' TO 'D:\Program Fi

sql server mamngement studio执行查询快捷键

admin2020-09-06数据库 1253° 0
按F5

sql判断数字、字母、汉字

佚名2018-09-05数据库 2208° 0
SELECT ASCII('字段')数字:48-57字母:65-123汉字:123+--删除某个全为数字的字段 DELETE FROM table WHERE ASCII('字段') BETWEEN 48 AND 57 --包含中文字符 SELECT * FROM table WHERE 列名 LIKE '%[吖-座]%' --包含英文字符 SELECT * FROM table WHERE 列名 LIKE '%[a-z]%' --包含纯数字 SELECT * FROM table WHERE 列名 LIKE &#

列名或所提供值的数目与表定义不匹配

admin2018-09-05数据库 1226° 0
插入数据时在表名的后面跟上具体列名,并对照插入的列数和类型是否一致。

SQLServer不允许保存更改错误解决办法

佚名2017-11-02数据库 1167° 0
启动SQL Server 2008 Management Studio工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改 取消勾选即可。

sql查询语句中的条件判断case

佚名2017-09-21数据库 1177° 0
在SQL查询SELECT语句中如果对某列上的值进行判断并显示相关内容可使用CASE....WHEN.....ELSE....END语句。如:create table t3(id int,xingbie int) go insert into t3 values(1,0) insert into t3 values(2,1) insert into t3 values(3,0) go select id,xingbie,case xingbie when 0 then '男' else '女' end from t3 go

将一个表中的数据插入到另一个表中的方法

佚名2017-09-21数据库 1046° 0
列名不一定要相同,只要你在HH中列出要插入列的列表跟select from mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的。 insert into hh (fielda,fieldb,fieldc) select fieldx,fieldy,fieldz from mm 声名:a,b ,都是表--b表存在(两表结构一样) insert into b select * from a 若两表只是有部分(字段)相同,则 insert into b(col1,col2,col3,col4,...) select col1,col2,col3,col4,... from a

SQL事务

佚名2017-09-21数据库 1181° 0
DECLARE @errMsg VARCHAR(200), @errLev INT BEGIN TRAN BEGIN TRY --SQL语句 END TRY BEGIN CATCH SET @errMsg=Error_message(); SET @errLev=Error_severity(); IF(@@trancount>0) --全局变量@@trancount,事务开启此值 1,他用来判断是有开启事务 ROLLBACK TRAN; ---由于出错,这里回滚到开始,第一条语句也没有插入成功。 RAIS

SQL获取字段html代码中的img标签图片文件的路径

佚名2018-10-14数据库 1047° 0
SELECT SUBSTRING(Description,0,PATINDEX('%"%',Description)) AS Description FROM( SELECT SUBSTRING(InfoContent,PATINDEX('%src="%',InfoContent)+5,PATINDEX('%src="%',InfoContent)+5+PATINDEX('%" />%',SUBSTRING(InfoContent,PATINDEX('%src=&qu

Sql Server 数据库启用sa用户或18456错误

佚名2017-09-21数据库 1546° 0
1、以windows验证模式进入数据库管理器。2、右击sa,选择属性:在常规选项卡中,重新填写密码和确认密码(改成个好记的)。把强制实施密码策略去掉。3、点击状态选项卡:勾选授予和启用。然后确定4、右击实例名称,选择属性。5、点安全性,确认选择了SQL SERVER 和Windows身份验证模式。6、重启SQLSERVER服务(重要)。

Sql Server 无法执行 BACKUP LOG,因为当前没有数据库备份

佚名2017-09-21数据库 2563° 0
结尾日志的问题还原选择中去掉结尾日志就可以了

SQL GROUP BY合并字符串

佚名2018-10-18数据库 1144° 0
事例:SELECT BeginCity, EndCity, FanDian, [CangWei]=STUFF((SELECT '/'+[CangWei] FROM Test1 t WHERE t.BeginCity=Test1.BeginCity AND t.EndCity=Test1.EndCity AND t.FanDian=Test1.FanDian

存储过程

佚名2017-09-21数据库 1115° 0
创建use databasename create procedure myprocedure @username varchar(20) As Begin SELECT * FROM users WHERE username = @user End调用exec myprocedure 'admin'

将截断字符串或二进制数据 语句已终止

admin2018-10-22数据库 1093° 0
定位是数据库哪一个表哪个字段超出长度范围,将长度改大一点。

一条insert语句批量插入多条记录

佚名2017-09-21数据库 1470° 0
方式一:insert into person (id, personCode, personName , telNumber) values (1,'5112403' , '张三1' , '1378902134'), (2,'5112404' , '张三2' , '1378902135'), (3,'5112405' , '张三3' , '1378902137'); 方式二:insert into person (id, personCode

sql 自定义排序

admin2018-10-24数据库 1542° 0
测试数据CREATE TABLE UserTable ( Name VARCHAR(50) ) INSERT INTO dbo.UserTable(Name) VALUES('张三' -- Name - varchar(50) ) INSERT INTO dbo.UserTable(Name) VALUES('李四' -- Name - varchar(50) ) INSERT INTO dbo.UserTable(Name) VALUES('王五' -- Name - varchar(50)

SQL循环语句

佚名2017-11-15数据库 1066° 0
declare @i int set @i=1 while @i<30 begin insert into test (userid) values(@i) set @i=@i+1 end---------------while 条件begin执行操作set @i=@i+1endWHILE设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。语法WHILE Boolean_expression{ sql_statement | statement_bloc

sql server mamngement studio(ssms)下载

admin2020-02-25数据库 3198° 1
SQL Server 2008 R2 简体中文版SQL Server 2012 简体中文版SQL Server 2017 RC1 简体中文版独立SSMS下载Sql Prompt下载安装破解图文教程

Sql Server密钥

佚名2022-02-16数据库 5650° 0
SQL Server 2019Enterprise:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8GEnterprise Core:2C9JR-K3RNG-QD4M4-JQ2HR-8468JStrandard:PMBDC-FXVM3-T777P-N4FY8-PKFF4Web:33QQK-WWQNB-G6T46-C86YB-TX2PHSQL Server 2017Enterprise:TDKQD-PKV44-PJT4N-TCJG2-3YJ6BEnterprise Core:6GPYM-VHN83-PHDM2-Q9T2R-KBV83Strandard:PHDV4-3VJWD-N7JVP

SQL去除前后空格

admin2018-10-30数据库 1477° 0
SELECT LTRIM(' test ') --去除左边的空格 SELECT RTRIM(' test ') --去除右边的空格 SELECT LTRIM(RTRIM(' test ')) --去除首尾空格

SQL SELECT INTO 语句

佚名2018-11-01数据库 1025° 0
SQL SELECT INTO 语句可用于创建表的备份复件。创建表并插入数据,您可以把所有的列插入新表:SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename或者只把希望的列插入新表:SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename但是new_table_name不能是已存在的表,否则会报错。

SQL 语句判断记录是否存在

佚名2017-09-21数据库 1749° 0
select isnull((select top(1) 1 from tableName where conditions), 0)网上的常见的有问题的语句:错误1:select COUNT(*) from tableName where conditionscount(*) 计算会对聚集索引进行扫描和计算,reads 特别多,特别是 cpu 资源占用极大。错误2:if exists (select * from tableName where conditions) select '1' else select '0'这种方法稍微有点灵性,但是却很不简洁。

SQL 游标for循环

佚名2018-11-06数据库 1099° 0
1.利用游标循环更新、删除MemberAccount表中的数据DECLARE My_Cursor CURSOR --定义游标 FOR( SELECT * FROM dbo.MemberAccount); --查出需要的集合放到游标中 OPEN My_Cursor; --打开游标 FETCH NEXT FROM My_Cursor; --读取第一行数据 WHILE @@FETCH_STATUS=0 BEGIN --UPDATE dbo.MemberAccount SET UserName = UserName + 'A' W

IF-ELSE IF-ELSE语句

佚名2018-04-25数据库 1114° 0
格式IF 条件表达式 BEGIN SQL语句 END ELSE IF 条件表达式 BEGIN SQL语句 END ELSE BEGIN SQL语句 END

sql语句trycatch捕获错误信息

佚名2017-09-21数据库 1121° 0
begin try insert into accountbase(name) values ('111')end trybegin catch--ERROR_NUMBER() 返回错误号。--ERROR_SEVERITY() 返回严重性。--ERROR_STATE() 返回错误状态号。--ERROR_PROCEDURE() 返回出现错误的存储过程或触发器的名称。--ERROR_LINE() 返回导致错误的例程中的行号。--ERROR_MESSAGE() 返回错误消息的完整文本。 该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。select ERROR_MESS

sql判断一个值是否为空

佚名2017-09-21数据库 1155° 0
空分为空字符或者null如果是null的话select * from 表名 where 字段名 is null如果是空字符的话select * from 表名 where 字段名=''

SQL获取星期几

佚名2018-11-18数据库 1280° 0
使用SQL Server日期函数:datename()。例子 1:SET LANGUAGE N'English'; SELECT DATENAME(WEEKDAY, GETDATE())例子 2:SET LANGUAGE N'Simplified Chinese'; SELECT DATENAME(WEEKDAY, GETDATE());例子 3:SET DATEFIRST 1; SELECT DATEPART(WEEKDAY, GETDATE());7-- 星期日注意:这里用到了另外一个 SQL Server 日期函数 datepart()。“set

SQL 将日期格式转换为常用字符串格式

佚名2018-04-11数据库 1213° 0
CONVERT(varchar(100), GETDATE(), 0)-- 05 16 2006 10:57AM CONVERT(varchar(100), GETDATE(), 1)-- 05/16/06 CONVERT(varchar(100), GETDATE(), 2)-- 06.05.16 CONVERT(varchar(100), GETDATE(), 3)-- 16/05/06 CONVERT(varchar(100), GETDATE(), 4)-- 16.05.06 CONVERT(varchar(100), GETDATE(), 5)-- 16-05-06 C

关键字 'with' 附近有语法错误。

佚名2017-09-21数据库 3043° 6
关键字 'with' 附近有语法错误。如果此语句是公用表表达式、xmlnamespaces 子句或者更改跟踪上下文子句,那么前一个语句必须以分号结尾解决办法是在with语句之前加个分号“;”。

Sql Server bcp单引号冲突

佚名2017-09-21数据库 1267° 0
在字符串里面2个单引号表示一个单引号

用命令导出成EXCEL

佚名2017-09-21数据库 1624° 0
EXEC master..xp_cmdshell 'bcp "use test_n select * from table_n" queryout D:\A.xls -c -S"192.168.0.2" -U"sa" -P"pas"'

Sql Server 启用xp_cmdshell组件

佚名2017-09-21数据库 1542° 0
【解决办法】: 1、通过SQL语句开启。[推荐此方法,因为在任何版本的SQL SERVER中都可以使用。] 通过查询分析器,选择Master数据库,然后执行以下SQL内容:sp_configure 'show advanced options',1 reconfigure go sp_configure 'xp_cmdshell',1 reconfigure go执行结果:  配置选项 'show advanced options' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。   配置选项 'xp_c

SQL server导出Excel

admin2017-09-21数据库 1467° 0
1.查询到数据2.打开Excel3.复制和粘贴

SQL Server 数据类型

佚名2018-12-11数据库 935° 0
Character 字符串:数据类型描述存储char(n)固定长度的字符串。最多 8,000 个字符。nvarchar(n)可变长度的字符串。最多 8,000 个字符。varchar(max)可变长度的字符串。最多 1,073,741,824 个字符。text可变长度的字符串。最多 2GB 字符数据。Unicode 字符串:数据类型描述存储nchar(n)固定长度的 Unicode 数据。最多 4,000 个字符。nvarchar(n)可变长度的 Unicode 数据。最多 4,000 个字符。nvarchar(max)可变长度的 Unicode 数据。最多 536,870,912 个字符。

sql server附加数据库时提示“无法为该请求检索数据。”

佚名2019-01-19数据库 1031° 0
解决方案:右击SQL Server Management Studio以管理员身份运行,选择与脱机数据库时相同的登陆方式(win还是sa),进入后再附加就是ok了。

SQL Cursor基本用法

佚名2019-01-19数据库 939° 0
--> 1 table1结构如下id intname varchar(50)declare @id intdeclare @name varchar(50)declare cursor1 cursor for --定义游标cursor1select * from table1 --使用游标的对象(跟据需要填入select文)open cursor1 --打开游标fetch next from cursor1 into @id,@name --将游标向下移1行,获取的数据放入之前定义的变量@id,

SQL SUBSTRING函数

佚名2019-01-21数据库 1032° 0
SUBSTRING ( expression, start, length ) 参数 expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。 start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置,索引是从1开始。 length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。经测试,暂且发现只能是非负数。返回值1.如果 expression 是一种支持的二进制数据类型,则返回二进制数据,这种情况我们暂且不讨论。2.如果 expression 是一种支持的字符数据类型,则返回字符数据。(1)如果 start的

SQL随机数

佚名2019-02-12数据库 1147° 0
随机函数:RAND()SELECT RAND(); --可以看到结果会是类似于这样的随机小数:0.840107621240329像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。那就看下面的两种随机取整数的方法: 方法1:0至N-1之间SELECT CAST(FLOOR(RAND() * 100) AS INT); --生成0至99之间任一整数方法2:1至N之间SELECT CAST(CEILING(RAND() * 100) AS INT); --生成1至100之间任一整数为每一行均产生一个随机数SELECT CAST(CEILING(RAND(CHECKSUM(NEWID

SQL Server collate详解

佚名2019-02-20数据库 1257° 0
什么叫排序规则呢?MS是这样描述的:"在 Microsoft SQL Server 2000 中,字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则。"在查询分析器内执行下面语句,可以得到SQL SERVER支持的所有排序规则。SELECT * FROM::fn_helpcollations();排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。如:  Chinese_PRC_CS_AI_WS前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。排序规则的后半部份即后缀 含义:   _BI

查看SQLServer版本

佚名2019-03-02数据库 1578° 0
SELECT @@VERSION;查询结果:Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 17763: )

SQL Server提取文件名

佚名2019-03-21数据库 1203° 0
1、根据路径获取文件名-- ============================================= -- Author: Paul Griffin -- Create date: 18 January 2015 -- Description: Returns a filename with extension -- from a full path: -- D:\Temp\Resources\Images\My.Picture.jpg -- ==> My

用户'sa'登录失败(错误18456)

佚名2019-03-25数据库 1005° 0
首先使用管理员身份打开SQL server ,并且以windows身份进入。然后打开“安全性”--“登录名”中找到用户“sa”打开其属性面板。接下来选择“常规”设置密码,并且点击“确定”保存。然后选择“状态”--登录设置为“启用”,并且点击“确定”保存。然后再打开sql服务器属性页面操作是“选择服务器右击--属性”,选择“安全性”将服务器身份验证选择为“SQL server 和 Windows 身份验证模式(s)”,点击“确定”保存。最后再右击服务器选择“重新启动(A)”,将服务器重新启动就OK 了。假如以上的办法还是不能解决就再进行一下的操作:打开 “开始菜单”——“Microsoft S

SQLite函数大全

佚名2021-05-18数据库 546° 0
abs(X) 返回参数X的绝对值coalesce(X,Y,……) 返回第一个非空参数的副本。若所有的参数均为NULL,返回NULL。至少2个参数。ifnull(X,Y) 返回第一个非空参数的副本。若两个参数均为NULL,返回NULL。last_insert_rowid() 返回当前数据库连接最后插入行的RowID。length(X) 返回X的长度,以字符计。 lower(X) 返回X字符串的所有字符小写化版本。max(X,Y) 返回最大值。nullif(X,Y) 当两参数不同时返回X,否则返回NULL。quote(X) 返回参数的适于插入其他SQL语句中的值。字符串会被添加单引号。rando

Sqlite获取当前时区的当前时间

佚名2021-05-19数据库 1245° 0
想得到一个符合本机区域设置的当前时间,必须用date函数来转换,但date只函数只返回当前日期,而我需要的是返回当前日期及时间,所以这里把它换成datetime函数,即:datetime(CURRENT_TIMESTAMP,'localtime')以下是sqlite下测试的输出信息:select CURRENT_TIMESTAMP;2006-06-18 09:23:36select datetime(CURRENT_TIMESTAMP,'localtime');2006-06-18 17:23:44设置为默认的时候在字段默认值写(datetime(CURRENT_TIMESTAMP,'loc

sqlite截取字符串函数substr

佚名2021-05-31数据库 816° 0
函数:substr(string string,num start,num length)用法:string为字符串;start为起始位置;字符串的第一个字符的位置为1,不是从0开始计算length为长度。select substr('123456',2,3);--234

sqlite实现字符串分割

佚名2021-06-28数据库 1553° 0
WITH split(word, str) AS ( -- alternatively put your query here -- SELECT '', category||',' FROM categories SELECT '', 'Auto,A,1234444,dsfdd,sd,sd'||',' UNION ALL SELECT substr(str, 0, instr(str, ',')), substr(str, instr(str, ',')+1) FROM split WHERE str!='') SELECT word FROM s

mysql在数据库中所有表的字段中查找数据

佚名2021-09-02数据库 1738° 0
DROP TABLE IF EXISTS temp;CREATE TABLE temp (tablename VARCHAR(255),LieName VARCHAR(255));delimiter $$DROP PROCEDURE IF EXISTS getDataByDbName $$ CREATE PROCEDURE getDataByDbName (IN dbName VARCHAR(255),IN ziduan VARCHAR (255))BEGIN DECLARE num INT; SET @STMT = CONCAT( "SELECT COUNT(*) FROM "

C#把一个datatable中的数据复制到另一张datatable

佚名2021-10-12数据库 1910° 0
实际开发中往往需要把一个dataTable中的数据根据条件过滤,然后把新数据赋给另外一张表(即返回过滤后的数据),比如:有一个datatable dt;另一个datatable dt1;DataRow dr=dt.select("id=1");然后dt1.Rows.Add(dr[0]);但是这时会提示错误信息:这一行数据已经属于其他表,本节内容就是讲解如何把一个dataTable中的数据赋给新的dataTable代码如下:/// <summary> /// 执行DataTable中的查询返回新的DataTable /// </summary> ///

MongoDB没有mongoimport文件

佚名2021-11-02数据库 2169° 0
mongoimport mongoexport mongodump mongorestore 等工具,作为 mongodb database tools 提供了单独的下载入口。https://www.mongodb.com/try/download/database-tools点击download下载。将下载好的文件解压到mongodb安装目录下。

MongoDB Compass删除数据库

佚名2021-11-02数据库 1550° 0
删除数据库需要输入数据库的名称。有时即使输入名称删除按钮也不可用,可以重启MongoDB Compass。

我是有底线的
分类
数据库编程游戏网页系统办公软件网络设计影音硬件数学手机
猜您喜欢
  • Makelangelo图片转艺术Gcode3658
  • 尝试访问启动磁盘设置时出错4284
  • 让浏览器用极速模式打开网站而不是兼容模式4008
  • CSS3 text-decoration-style 属性2020
  • 文字和图片对齐方式3045
  • Outlook 0x800CCC0F 错误2933
  • unity3d绘制地面2448
  • QT安装配置教程3109
  • hp1020打印机连续打印卡纸3766
  • 删除顶部Word表格前面的空白段落3273

标签云

C#

.NET

ASP.NET

JavaScript

NodsJs

CSS

Windows

3DS Max

AutoCAD

jQuery

Bootstrap

SQL

Visual Studio

WebStorm

Photoshop

Office

BIOS

Nginx


全民云计算
全民云计算

Copyright © 2018  我的空间  闽ICP备17023514号-2