insert当 sql语句里面有变量 为字符类型的时候 要3个单引号

set @InsertStr=‘INSERT INTO [dbo].[T_SchoolPercentMonth]([SchoolID],[MonthOfYear],[PercentNum]) VALUES(‘‘‘+cast(@SchoolID as nvarchar)+‘‘‘,‘‘‘+convert(char(7),getdate(),20) +‘‘‘,‘+cast(@PercentNum as nvarchar)+‘)‘;

引用字符 加一对单引号. ‘select * from tb where col=‘ + ‘abcd‘ + ‘ and true‘
字符如果是变量值,再加两对单引号. ‘select * from tb where col=‘‘‘+ @colval+‘‘‘ and true‘
如果字符是语句的结尾,加四个单引号.‘select * from tb where col=‘‘‘ [email protected]+‘‘‘‘
如果引用的是数值,则只要加一对: ‘select * from tb where col=‘+ @intval +‘ and true‘
如果引用的数值,且为语句结尾,则后面的单引号也不要:‘select * from tb where col=‘ [email protected]

  

时间: 2024-10-28 14:42:59

insert当 sql语句里面有变量 为字符类型的时候 要3个单引号的相关文章

Sql语句里面调用变量

sql语句里面调用变量的话有两种情况,一种是字符类型,一种是整型.浮点型之类的数字 db1.Execute("insert DataInformation values('" + user + "','" + list2[j].PlaceID + "'," + list2[j].VELO + "," + list2[j].F + "," + list2[j].SS + "," + lis

PHP中sql语句如何使用变量

SQL语句变量问题 先讲下单引号和双引号的问题 ''单引号 php会把它里面的内容当成字符串来处理. ""双引号 php会根据里面的值来处理.比如里面有变量 那么变量的值就会把变量替换. 例子 <?php $a='Hello Word!'; echo '$a'; echo "$a"; //这两个输出的结果是不一样的 //第一个输出就是$a //第二个输出Hello Word! //数据库查询例子: $username='admin'; $sql="s

SQL语句oracle中如何插入Date类型的数据

转:http://chwshuang.iteye.com/blog/933926 在开发的时候,经常要写条SQL语句将信息插入表中,插入的数据如果字段是date类型,就必须将date类型转换成字符串String类型在通过sql语句插入数据库.这是我字段唯一的方法,如果有高人请另赐教! 我的解决方法是用oracle中的to_date()方法,具体看下面的例子 Oracle中插入date数据代码 insert into news(ID,MSG,SEND_TIME,TIMER) Oracle中插入da

mybatis中写sql语句时需要转义的字符

mybatis配置文件,sql语句中含有转义字符: 错误语句: select * from table_base where flag_topic  & #{topic_num} 错误信息: Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 54; The entity name must immediately follow the '&' in the entity reference. 正确语

Oracle的SQL语句中的变量替换

一.问题描述 如下SQL: INSERT INTO tmp(val)VALUES('a&b'); 执行过程中会出现如下提示: 点击"确定"过后我们查看表中的数据: b后面的字符串没有插入进去. 二.原因解析--替代变量 SQL*PLUS中默认的"&"表示替代变量,当写入&时,数据库会要求其替换成其它的值. 如,你可以定义: 这样插入数据库中的值就是ahellob. 三.解决方法 解决方法1:关闭变量替换 如下所示: SET DEFINE OF

Tornado中insert into sql语句的构造

#!/usr/bin/env python # -*- coding:utf-8 -*- d = {'name': 'alx', 'age': 18,'k1':123,'k2': 123} t = "inset into tb(%s) values(%s)" key_list =[] value_list = [] for k,v in d.items(): key_list.append(k) value_list.append("%%(%s)s" %k) sql

SQL Server2012使用导入和导出向导时,用sql语句作为数据源,出现数据源类型会变成202或者203

用MS SqlServer2012进行数据导出时,使用的查询语句导出,但是出现了错误: "发现 xx个未知的列类型转换您只能保存此包" 点击列查看详细错误信息时,可以看到: [源信息]源位置: 192.168.1.97源提供程序: SQLNCLI11表: [查询]列: ItemSize列类型: 203SSIS 类型: (类型未知...)映射文件(到 SSIS 类型): C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Mapping

SQL语句增加列、修改列类型、修改列、删除列

1.增加列: alter table tableName add columnName varchar(30) 2.修改列类型: alter table tableName alter column columnName varchar(4000) 3.修改列的名称: EXEC sp_rename 'tableName.column1' , 'column2' (把表名为tableName的column1列名修改为column2) 4.删除列: alter table tableName dro

sql语句备忘:非int类型行转列

如上图,result是varchar类型,需要行转列,百度到的都是对int类型的操作,折腾了很久,才整出来,在这里备个忘,不过据说性能方面堪忧,所以在这里也求看到大神指点指点,哪里还可以改进的,谢谢. 1 --不适用于有类型为text.ntext等不能执行distinct操作的字段 2 SELECT DISTINCT a.code, 3 (SELECT result FROM test b WHERE a.code=b.code AND b.type=1)AS'初审', 4 (SELECT re