具体代码如下: CREATE FUNCTION [dbo].[fn_NumberToChinese] (@number INT) ) AS BEGIN ); ); ); SET @res = ''; SET @str = CAST(@number AS VARCHAR); , ); SELECT @res = ( CASE ( CAST(@char AS INT) ) THEN '一' THEN '二' THEN '三' THEN '四' THEN '五' THEN '六' THEN '七' T
和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一段内容的返回) 会自动转换int类型 ,肯定会转换失败.然后报错将nvarchar类型(查询一段内容的返回) 的值显示出来. 由这个原理衍生出单字段查询.如下: ' and 0=(SELECT top 1 username FROM table) and 'C'='C 然后有衍生出多字段查询.如下:
行转列,是SQL中经常会遇到的一个问题,并且分为静态转换和动态转换,所谓静态转换即在转换的行数已知或固定:动态转换则为转换的行数不固定. 转换的方法一般采用case when语句或pivot(MSSQL 2005及以上版本)来实现. 首先来看静态转换:先准备一下测试数据,使用如下SQL语句直接生成: If Exists (Select * From sysobjects Where id = OBJECT_ID('Sales') and OBJECTPROPERTY(id, 'IsUserTab