-
SQL中decode()函数简介
DECODE函数,是ORACLE公司的SQL软件ORACLEPL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈!decode()函数简介:主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明);使用方法:Selectdecode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)FromtalbenameWhere…其中columnname为要选择的table中所定义的column,·含义解释:decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)的理解如下:if(条件==值1)then return(翻译值1)elsif(条件==值2)then return(翻译值2) ......elsif(条件==值n)then return(翻译值n)else return(缺省值)endif注:其中缺省值可以是...
数据库操作教程 2022-09-23 17:45:11 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上)
很多人在查看SQL语句等待的时候都是通过sys.dm_exec_requests查看,等待类型也是通过wait_type得出,sys.dm_os_waiting_tasks也可以看到session的等待那么有什么区别呢.... 废话不多说直接开整. 测试版本2012 sys.dm_os_waiting_tasks的字段说明:waiting_task_addressvarbinary(8)等待任务的地址。session_idsmallint与任务关联的会话的ID...
数据库操作教程 2022-09-23 17:44:21 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(中)
通过上篇文章给大家介绍了SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上),说了一下sys.dm_exec_requests和sys.dm_os_waiting_tasks在获取并行等待的时候得不同结果,这一篇我们谈论下我的第二个疑问:为什么一个并行计划(4线程)却一下出现了那么多等待,SQL的并行到底是怎么执行的!!!! 先贴以下上篇sys.dm_os_waiting_tasks的结果图: 我们分析一下这个结果的task_address可以看出去掉重复其实只有9个,也就是说一个并行(4线程,配置不同,情况也不同)会有9个task。又是线程,又是task,还有worker,schedulers这些都是什么?这个有必要先说一下,因为这篇博客前我也是乱乱的...
数据库操作教程 2022-09-23 17:44:07 -
SQLSERVER使用ODBC驱动建立的链接服务器调用存储过程时参数不能为NULL值
我们知道SQLSERVER建立链接服务器(LinkedServer)可以选择的驱动程序非常多,最近发现使用ODBC的MicrosoftOLEDB驱动程序建立的链接服务器(LinkedServer),调用存储过程过程时,参数不能为NULL值。否则就会报下面错误提示:对应的英文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1Theattemptbytheprovidertopassremotestoredprocedureparameterstoremoteserver'xxx'failed.Verifythatthenumberofparameters,theorder,andthevaluespassedarecorrect.对应的中文错误提示为:EXECxxx.xxx.dbo.Usp_TestNULL,NULL,'ALL'Msg7213,Level16,State1,Line1提供程序将远程存储过程参数传递给远程服务器'xxx'的尝试失败...
数据库操作教程 2022-09-23 17:35:04 -
sp_executesql使用复杂的Unicode表达式错误的解决方法
Msg102,Level15,State1,Line3Incorrectsyntaxnear'+'.当你尝试执行下面这段代码时,会得到如上这个错误提示。复制代码代码如下:DECLARE@MyNameNVARCHAR(100)DECLARE@FieldNameSYSNAME=N'Name'EXECUTEsp_executesqlN'SELECTTOP1@OutputName=['+@FieldName+']FROM[dbo].[Member]',N'@OutputNameNVARCHAR(100)OUTPUT',@MyNameOUTPUT;SELECT@MyName问题出于不允许使用更复杂的Unicode表达式(例如使用+运算符连接两个字符串)...
数据库操作教程 2022-09-23 17:28:34 -
解决无法在unicode和非unicode字符串数据类型之间转换的方法详解
今天用excel导入数据又遇到了…… 错误0xc02020f6:数据流任务:列“column”无法在unicode和非unicode字符串数据类型之间转换。 原因:仔细看了一下,发现有些字段是varchar的,而excel中估计都是nvarchar类型...
数据库操作教程 2022-09-23 17:26:22 -
使用mongovue把sqlserver数据导入mongodb的步骤
一、思路MongoVUE免费版支持MySQL导入Mongo,所以思路是SQLServer导入MySQL,再从MySQL导入Mongo。二、准备1,安装mysql数据库(我用的是WAMP,集成mysql,phpadmin),如果需要,建立自己的数据库如MyData2,下载mysql-connector-odbc-5.1.12-win32.msi,安装3,开始--->管理工具--->数据源(ODBC)--->用户DSN,添加MySQLODBC5.1Driver4,在SQLServer里服务器对象,链接服务器,右键新建5、在MySQL数据库中建要导入数据的表,如表名为t6、在sqlserver里写导入sql语句如 insertintoopenquery(mysql,'select*fromt')select*fromt7、用MongoVUE导入mysql里的数据等待....完成!注意事1,sqlserver不要用window身份验证2,中文字段要用mysql的gb2312整理3,mssql的bit要修改成mysql的 tinyint(1),mssql的t...
数据库操作教程 2022-09-23 17:20:35 -
DDL、DML和DCL的区别与理解
DML、DDL、DCL区别.总体解释:DML(datamanipulationlanguage):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL(datadefinitionlanguage):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用DCL(DataControlLanguage):是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句...
数据库操作教程 2022-09-23 17:15:30 -
SQLSERVER如何查看索引缺失及DMV使用介绍
当大家发现数据库查询性能很慢的时候,大家都会想到加索引来优化数据库查询性能,但是面对一个复杂的SQL语句,找到一个优化的索引组合对人脑来讲,真的不是一件很简单的事。好在SQLSERVER提供了两种“自动”功能,给你建议,该怎么调整索引第一种是使用DMV第二种是使用DTA(databaseenginetuningadvisor)数据库引擎优化顾问这篇文章主要讲第一种从SQL2005以后,在SQLSERVER对任何一句语句做编译的时候,都会去评估一下,这句话是不是缺少什么索引的支持,如果他认为是,他还会预估,如果有这麽一个索引他的性能能提高多少SQLSERVER有几个动态管理视图sys.dm_db_missing_index_detailssys.dm_db_missing_index_groupssys.dm_db_missing_index_group_statssys.dm_db_missing_index_columns(index_handle)sys.dm_db_missing_index_details这个DMV记录了当前数据库下所有的missingindex的信息,他针对的...
数据库操作教程 2022-09-23 17:09:44 -
Sql学习第二天——SQLDML与CTE概述
DML(DataManipulationLanguage)与CTE(CommonTableExpression)今天看书时遇到的两个缩写,不知道其含义,于是就百度了一下,特地在此记录下来,以便于下次复习使用。关于DML(DataManipulationLanguage):数据操纵语言,用户能够查询数据库以及操作已有数据库中的数据的计算机语言...
数据库操作教程 2022-09-23 17:07:07 -
SQLServer误区30日谈第13天在SQLServer2000兼容模式下不能使用DMV
误区#13.在SQLServer2000兼容模式下不能使用DMV错误 对于兼容模式已经存在了很多误解。80的兼容模式的数据库是否意味着能够附加或恢复到SQLServer2000数据库?当然不是...
数据库操作教程 2022-09-23 17:06:42 -
Godaddy导入导出MSSQL数据库的实现步骤
如何导入数据库可以从限制文件中导入SQL共享服务器数据库。如果想把存放在其他地方的数据导入,需要先把其内容拷到限制文件中...
数据库操作教程 2022-09-23 16:53:22