在项目开发过程中存储过程会用到很多SQL函数,经常用到的mark一下

1、经常用到的
mark 一下

经常需要把id字符以','分隔传入存储过程
然后SQL语句用in去搜索
但是经常是这样的情况
id 经常是int bigint类型,传进来的经常是的字符串类型
所以经常需要用到SQL字符串拼接

eg :
1、不需要返回值的
set @STRSQL='SELECT * FROM TABLE WHERE ID IN('+@TestContent+')'
EXEC @STRSQL

2、需要返回值
set @STRSQL=N'SELECT @TestContent=(SELECT STUFF((SELECT ''/''+Title FROM TestItem WHERE ID
IN('+ @TestContent +')AND DeFLAGS=0 FOR XML PATH('''')),1,1,''''))'

EXEC sp_executesql @STRSQL,N'@TestContent NVARCHAR(4000) output',@TestContent output

STUFF函数
STUFF 函数将字符串插入到另一个字符串中。 它从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。

语法:
STUFF ( character_expression , start , length , replaceWith_expression )

SELECT STUFF('abcdef',2,2,'hijklmn') 结果是 “ahijklmndef”,主意下标从1开始算起

FOR XML PATH 用法:用于将查询结果集以XML形式展示

SELECT * FROM TABLE FOR XML PATH

SELECT ID AS test,Code AS TESTCode FROM Bills FOR XML PATH('abc')

按照自己的格式输出显示

SELECT '/'+PATH FROM TABLE FOX XML PATH('')

sp_executesql 用法

sp_executesql [ @stmt = ] statement
[
{ , [ @params = ] N'@parameter_name data_type [ OUT | OUTPUT ][ ,...n ]' }
{ , [ @param1 = ] 'value1' [ ,...n ] }--用来接收输出值的参数,必须是已定义好的参数
]

可以有带输入、输出值

eg:
EXEC sp_executesql @STRSQL,N'@TestContent NVARCHAR(4000) output',@TestContent output

DATEDIFF 用法:

DATEDIFF ( datepart , startdate , enddate )

DATEDIFF(DAY,'2014-10-10',GETDATE())

分页:

ROW_NUMBER() 函数

SELECT ROW_NUMBER() OVER (order by id),* FROM TABLE

类型转换

CAST 、CONVETR 函数:

CAST ( expression AS data_type [ ( length ) ] )
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

SQL函数经常用到的mark一下的更多相关文章

  1. Oracle 中的sql函数以及分页

    SELECT LPAD(,'*.') "LPAD example" FROM DUAL; 1.分页查询 (1)方法一:使用  between  and 来实现分页 select * ...

  2. SQL函数说明大全

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  3. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

        花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...

  4. [转]字符型IP地址转换成数字IP的SQL函数

    使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助.      /**//*--调用示例       sele ...

  5. 常用的Sql 函数

    常用的Sql 函数 1: replace 函数,替换字符. 语法 replace (original-string, search-string, replace-string ) 第一个参数你的字符 ...

  6. 常用的 SQL 函数

    SQL 函数 聚合函数(针对数字列): AVG:求平均分  COINT: 计算个数  MAX: 求最大值  MIN: 求最小值  SUM: 求和 数学函数():  ABS:     绝对值  CEIL ...

  7. Oracle数据库--SQL函数

    Oracle SQL函数  1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii( ...

  8. 常用的sql函数

    常用的sql函数 concat('hello','world') 结果:helloworld  作用:拼接 substr('helloworld',1,5)      hello           ...

  9. ThinkPHP使用SQL函数进行查询

    //SQL函数查询 $products=$pro->where(array("FIND_IN_SET('".$type."',type)",'num'=& ...

随机推荐

  1. Cortex-M3学习日志(三)-- 外部中断0

    无论是哪款单片机应该都有对应的中断的功能,中断在嵌入式系统的地位毋庸置疑.LPC1768微处理器包括4个外部中断,分别是EINT0.EINT1.EINT2.EINT3对应的引脚分别是P2.10~P2. ...

  2. TLSAlloc()

    为什么要有TLS?原因在于,进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量.在一个线程修改的内存内容,对所有线程都生效.这是一个优点也是一个缺点.说它是优点,线 ...

  3. 在非gui线程使用QMessageBox

    最近我写项目的时候遇到一个奇怪的需求,要在工作线程内,根据某个情况弹出一个MessageBox 但是Qt提供的MessageBox只可以在gui线程(主线程)使用,于是我就对QMessageBox封装 ...

  4. 7.使用ProcessBuilder执行本地命令(转)

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.IO ...

  5. 一个基于Qt的截屏程序

    最近有一个arm板上的程序需要重写用户手册,在网上找了许久,没找到合适的截屏工具.于是只好自己动手做一个了. 因为arm板上有已经有了Qt环境,于是想到用 Qt的QPixmap::grabWindow ...

  6. 编tuxedo遇到服务问题

    各种错误的程序报构建服务: 1.  配置为执行环境变量tmboot –y启动管理流程和服务流程 2.  每日班似这个错误:buildserv:error while loading shared li ...

  7. Objective-C内存管理教程和原理剖析(三)

    初学Objective-C的朋友都有一个困惑,总觉得对Objective-C的内存管理机制琢磨不透,程 序经常内存泄漏或莫名其妙的崩溃.我在这里总结了自己对Objective-C内存管理机制的研究成果 ...

  8. 快照(Snapshot)

    一.定义: SNIA(存储网络行业协会)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个 ...

  9. C#实现按Word模板导出Word(加书签bookMark)

    本方法是针对word导出操作,需要制作好的模板文件 模板.doc 引入应用Microsoft.Office.Interop.Word 11.0  (office2003) 导出文件注意:有时候迅雷会在 ...

  10. SQLServer .mdf和.ldf文件

    .mdf:是数据库数据文件,存放一个数据库的数据信息. .ldf:是数据库日志文件,即日常对数据库的操作的记录如(增.删.改)的文件.