在做一些订单金额.合同金额转换的时候,经常会遇到数字转成中文的情况,所以整理了一个数字转中文的函数: /* 说明:数字金额转中文金额 示例:187.4 转成 壹佰捌拾柒圆肆角整 */ ,)) ) BEGIN ),),),@i int )) )),) Set @c_data='' Begin ) if @n_str<>'' begin )') or (() ) ) )))) ,) ) ) )) ) ,)= N'亿万' ,) END END SET @c_data= '(负数)'+@c_data…
SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要截取最左边的字符数'  ) 返回从字符串左边开始指定个数的字符  ); 返回结果:SQL_ 2.RIGHT ( character_expression , integer_expression ) 函数说明:RIGHT ( '源字符串' , '要截取最右边的字符数'  ) 返回字符串中从右边开始指…
SQL Server中的LEFT.RIGHT函数. LEFT:返回字符串中从左边开始指定个数字符. LEFT(character_expression,integer_expression); RIGTH:返回字符串从右边开始指定个数字符. RIGHT(character_expression,integer_expression); 例: SELECT LEFT('abcedf',3) as leftResult; -- 返回从左侧数前 3 个字符,第二个参数不接收负数,会报错 SELECT…
好久没有写有关SqlServer 数据库方面技术的文章了,正好今天遇到了一个问题,我就把这个当做一个练习记录下来.今天遇到一个麻烦事,详情如下:公司买了一个系统,在这个系统里面有一个“充值卡”的功能,但是充值卡的当前所剩下的金额已经被乱码了,看不出来真正的金额,而且,卖软件的那家公司把所有的Sql 函数和存储过程都加密了,没有办法看到. 怎么办?为了和公司的其他系统进行集成,于是,我就试试来写一个逆运算来还原当前“充值卡”的剩余金额,搞了一天终于搞出来了.其实这个东西不是很难,只是刚开始的时候什…
/*************************************************** 作者:herowang(让你望见影子的墙) 日期:2010.1.5 注: 转载请保留此信息 更多内容,请访问我的博客:blog.csdn.NET/herowang ****************************************************/ /* 本次修改增加了unicode的支持,但是加密后依然显示为进制数据,因为进行RSA加密后所得到的unicode编码是无…
/*************************************************** 作者:herowang(让你望见影子的墙) 日期:2010.1.1 注:   转载请保留此信息 更多内容,请访问我的博客:blog.csdn.NET/herowang ****************************************************/ 一.RSA算法原理 RSA算法非常简单,概述如下: 找两素数p和q 取n=p*q 取t=(p-1)*(q-1) 取任何…
    数字辅助表是一个连续整数的数列,通常用来实现多种不同的查询任务.大多分两类:足够大物理数字表和表函数,前者可以称为静态的,后者可以称为动态且按需生产. 物理数字表     物理数字表通常存在一个物理表,表记录相对足够大,相关的T-SQL代码如下: IF OBJECT_ID(N'dbo.Nums', 'U') IS NOT NULL BEGIN DROP TABLE dbo.Nums; END GO CREATE TABLE dbo.Nums ( Num INT NOT NULL, CON…
转自:http://blog.csdn.net/binguo168/article/details/76598581 1.下载dll程序集(通过C#编写的支持正则的方法),百度网盘下载: 1.1如果只想用,可以直接下载MSSQLRegexExtend.dllhttps://pan.baidu.com/s/1qX8eHa81.2正则程序集对应的解决方案MSSQLRegexExtend.sln,已打包https://pan.baidu.com/s/1qXZja9m 2.SQL Server数据库注册…
在编程过程中,我们通常把特定的功能语句块封装称函数,方便代码的重用.我们可以在SQL Server中自定义函数,根据函数返回值的区别,我们自定义的函数分两种:标量值函数和表值函数. 自定义函数的优点: 模块化程序设计 更快的执行速度 减少网络传输 一个函数最多可以有1024个参数:在调用函数时,如果未定义参数的默认值,则必须提供已声明参数的值. 创建标量值函数 下面的这个函数根据生日返回年龄: create function dbo.calcAge(@birthday datetime) --函…
有时我们要用到批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了. -- ============================================= -- Author: chenlong -- Create date: 2015-02-02 -- Description: 根据逗号分隔拆分字符串,返回table -- ============================================= ALTER FUN…
1.Case函数的用法  (1)使用类似:switch-case与if-else if. (2)语法: case [字段] when 表达式 then 显示数据 when 表达式 then 显示数据 else 显示数据 end (3)百分制转换素质教育 1)如图:我们要将显示的数据转换成ABCDE,规则是90分以上显示A,80分以上显示B,以此类推.  2)执行的SQL语句是: Select ID,TestBase, Case then ‘A’ then ‘B’ then ‘C’ then ‘D…
二.函数计算部分 --------------------标量聚合--------------------/* 标量聚合-主要在聚合函数操作中产生 计算标量:根据行中的现有值计算出一个新值 流聚合:在相应排序的流中,计算多组行的汇总值 所有的聚合函数都会有流聚合出现,但是其不会消耗IO,只消耗CPU 除MAX()和MIN()外其他聚合函数都会同时出现标量和聚合两个操作 当列列表只包含聚合函数时,则结果集只具有一个行给出的聚合值, 该值由与WHERE子句相匹配的源行计算得到. */ SELECT…
概述 函数有且只有一个输入参数和一个返回值,而存储过程没有这个限制: 返回表变量的函数可以当做VIEW或者临时表用在WHERE/HAVING/SELECT/JOIN语句中而存储过程不可以: 存储过程中可以使用try-catch块和事务,而函数中不可以 表值函数 表值函数主要用于数据计算出来返回结果集,可以带参数(和视图的一个大的区别) 用户定义表值函数返回 table 数据类型,表是单个 SELECT 语句的结果集. 创建 CREATE FUNCTION Fun_GetStudents ( @a…
我们如果要在sql server中,使用截取字符串的方法要怎样使用呢? sql server提供了3个常用截取字符串方法,LEFT().RIGHT().SUBSTRING() /****** Sql Server中截取字符串的常用方法 ******/ --1.LEFT()方法--- --函数说明--- --1)语法:LEFT(character,integer) --2)介绍:参数1:要截取的字符串,参数2:截取字符个数 --3)使用: --返回从字符串左边开始指定个数的字符-- ) --4)返…
在从excel往sql server导入数据,电话.编号等数字呈现float类型,然后向b表中insert后(phone为nvarchar)出现科学计数法,解决方法:需将float等数据类型转为标准的decimal类型后转nvarchar即可.一直觉得float和double类型在sql server和其他语言等日常编程中没有用途,而且容易造成麻烦(计算时出现近似值)等,建议使用decimal(18,2). convert(nvarchar(50),convert(decimal,phone))…
在sql server里,调用存储过程时,经常需要将数据拼成字符串做为参数调用存储过程,而在储存过程中分割字符串虽然简单但麻烦,封装了该函数,可以将拼串分割成内存表返回,方便使用,返回的表字段从a,b,c,d,e开始,最多支持15列 调用方式:select * from flfcp_StrSplitToTable('a,b,c|e,f,g', ',', '|') 返回结果: 调用方式:select * from flfcp_StrSplitToTable('a,b,c,e,f,g', ',',…
有时我们要用到批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了.没什么好说的,需要的朋友直接拿去用吧 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* by kudychen 2011-9-28 */ CREATE function [dbo].[SplitString] ( @Input nvarchar(max), --input string to be separated @Sep…
分类: 数据库管理 2005-06-03 13:57 9837人阅读 评论(5) 收藏 举报 sql server存储vb.net服务器sql语言 1.在查询分析器中调试 查询分析器中调试的步骤如下:    SQL 2000查询分析器        --左连的对象浏览器(没有的话按F8)        --对象项中        --右键调试的存储过程        --调试        --输入参数(必须输入所有的参数,包括默认值/输出参数        --点击执行        --出现…
SQL Server中的日期类型datetime的默认格式是yyyy-mm-dd hh:mi:ss:mmm,很多时候我们可能会需要获取日期中的某个组成部分,因此SQL Server提供了一个datename()函数用于获取日期的各个组成部分,比如获取年.月.日和小时等. 首先SQL Server提供了一个getdate()函数用于获取当前日期时间,返回的结果就是datetime类型. select getdate(); 这里我们通过getdate()函数获取的当前时间来示例datename()函…
简介 SQL Server 2012之后对窗口函数进行了极大的加强,但对于很多开发人员来说,对窗口函数却不甚了解,导致了这样强大的功能被浪费,因此本篇文章主要谈一谈SQL Server中窗口函数的概念. 什么是窗口函数 窗口函数,也可以被称为OLAP函数或分析函数.理解窗口函数可以从理解聚合函数开始,我们知道聚合函数的概念,就是将某列多行中的值按照聚合规则合并为一行,比如说Sum.AVG等等,简单的概念如图1所示. 图1.聚合函数 因此,通常来说,聚合后的行数都要小于聚合前的行数.而对于窗口函数…
charindex(','   +  ' test '+  ','   ,   ',' + test2+ ',')>0 灵活运用 SQL SERVER FOR XML PATH FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主. 一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(h…
假如我们有这样的数据格式1#XXXXX 20#CCCCC等的一系列数据那么我们如何可以排序出1 ,2,3,4,5,6,7.......这样的数据呢 我们知道整数是可以排序成这样的格式的,但是字符串就不一样了,最简单的解决方法是截取字符串的部分并按照整数的格式进行排序,这样就可以了比较简单 我的测试环境是sql server CREATE TABLE [dbo].[userapp]( [id] [nchar](20) NULL, [name] [nchar](10) NULL) ON [PRIMA…
public static String digitUppercase(double n){ String fraction[] = {"角", "分"}; String digit[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", &q…
关于SQL的partition by 字段的一些用法心得 先看例子: if object_id('TESTDB') is not null drop table TESTDB create table TESTDB(A varchar(8), B varchar(8)) insert into TESTDB select 'A1', 'B1' union all select 'A1', 'B2' union all select 'A1', 'B3' union all select 'A2'…
FOR XML PATH ,其实它就是将查询结果集以XML形式展现,将多行的结果,展示在同一行. 下面我们来写一个例子: 假设我们有个工作流程表: CREATE TABLE [dbo].[Workflow_Action]( ) NULL, ) NULL, ) NULL ) INSERT INTO [dbo].[Workflow_Action] ([WorkflowSchema],[ActionSchema],[ActionName]) VALUES ('material-price','conf…
1. 获取系统当前日期函数GETDATE() GETDATE()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime. SELECT GETDATE() 2. 返回UTC日期的函数GETUTCDATE() UTCDATE()函数返回当前UTC(世界标准时间)日期值. SELECT GETUTCDATE() 3. 获取天数的函数DAY DAY()函数用于返回指定日期是一个月中的第几天,范围从1到31.DAY 与 DATEPART (day.date) 返回相同的值. 语法: DA…
原来的代码: use string007 from sysobjects where id = object_id('K_V_TEST') and type = 'U') drop table K_V_TEST go create table K_V_TEST ( ) not null, autoid int identity, key_ ) not null, value_ ) not null, constraint PK_K_V_TEST primary key (autoid) ) go…
/* 标题:查询指定节点及其所有子节点的函数 作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 时间:2008-05-12 地点:广东深圳 */ ) , pid ) , name )) ' , null , '广东省') ' , '广州市') ' , '深圳市') ' , '天河区') ' , '罗湖区') ' , '福田区') ' , '宝安区') ' , '西乡镇') ' , '龙华镇') ' , '松岗镇') go --查询指定节点及其所有子节点的函数 )) ) , level int…
INSERT INTO IPatient ( UID, PatientNo, PatientName, PatientGender, Birthday, BloodType, Country, Nation, Nativeplace, Tel, Addr, Zipcode, PtType, FeeType, Ssn, Pno, Area, HosNo, BedNo, CurDept, CurDoctor, Diag, Remark, Checker, CResult, Animal, LabNo…
***********模糊查询*********/ 关键字: like (!!!!字符串类型) in (,,)  匹配()内的某个具体值(括号里可以写多个值) between... and.. 在某两个值的区间范围中(前后都包括,小的写前面,大的写后面) **********通配符********/ 1.%  任意个数的任意字符 示例: LIKE 'CO%'    可取值CONST.COKE等Cd等  2._  匹配一个任意字符 示例: LIKE 'C_'      可取值CS. 3.[] 匹配…