动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
例: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
错误: declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
正确: Exec('select ' + @fname + ' from tableName') -- 请注意加号前后的单引号的边上加空格
当然将字符串改成变量的形式也可
declare @fname varchar(20)
set @fname = 'FiledName' --设置字段名
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
相关文档:
身份证验证算法(SQL版)
/**//*
验证身份证算法
By:刘志伟
2008-1-29与天津
*/
CREATE FUNCTION [fn_ValidateIDC]
(
@idc varchar(18)
)RETURNS BIT
AS
BEGIN
IF LEN(@idc)<>15 AND LEN(@idc)<>18--身份证号只有15或18位
RETURN(0)
IF LEN(@idc)=15 --如果是15位身份证 则只验证日期和是否 ......
很久之前就想要把自己的读书过程记录下来,今天稍微整理了一下,认为不管什么书,自己没怎么完整地看完,更别提认真地全部地看完了。听人说,要选1本好书来看,我不反对这种说法,但更重要的是,不仅是书本身,而是我们自己的情况,是不是真正投入进去看了,不管怎样,写书的人的知识肯定比你这方面的知识要懂很多, ......
--作用:数据库中的表备份成文本
Declare @tabname varchar(200),@ip varchar(50),@user varchar(50),@password varchar(50),@sql varchar(1000),@filetxt varchar(200),@file varchar(50)
set @tabname='database.dbo.tb' --表名
set @ip='127.0.0.1' --IP地址,本机的话就写127.0.0.1
set @user='sa' ......
SqlDataSourceEnumerator instance =SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
或
System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();
返回Datatable
此table包含以下四个字段
Console.WriteLine("服务器名 = {0}", r ......
from: http://blog.163.com/ck275601774/blog/static/1230468012009631113559291/
--日期转换参数
select CONVERT(varchar,getdate(),120)
--2009-03-15 15:10:02
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
--20090315151201
select CONVERT(varchar(12) , getdate ......