1. sql怎么拼接字符串
不同的数据库,相应的字符串拼接方式不同,通过对比加深一下记忆。
一、MySQL字符串拼接
1、CONCAT函数
语法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字符串,定长与不定长均可以
连接两个字符串
(1)sql拼接字符串扩展阅读
字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数。
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j"。
而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。
字符串函数的应用
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:(‘abdag’,2,3)=’bda’
3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5、求字符串长度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串长度用 len(s)例: len("abc12")=5
6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7、字符的大写转换。Upcase(ch) 求字符ch的大写体。
例:upcase(‘a’)=’A’
8、数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.
例:str(12345,s); 结果s=’12345’
9、数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数,第三个参数也可不传
例:val(‘1234’,x,I);结果 x:=1234
2. sql字符串拼接
DECLARE@IPNvarchar(50)
SET@IP='127.0.0.1'
EXECMaster..xp_cmdShell'ping''+@IP+''-n2'
3. sql查询语句怎么拼接字符串
--1、在where的地方可以用case
select*
from表1
where字段1=casewhen@字段1>0then@字段1end
--2、或者在赋值的时候做判断用4个参数,你可以根据下面的写法自己修改
@字段1,@字段2,@字段3,@字段
if@字段1>0
begin
select@字段=@字段1
select*
from表1
where字段1=@字段
end
ifif@字段1<0and@@字段2>0
begin
select@字段=@字段2
select*
from表1
where字段1=@字段
end
4. SQL中的连接字符串怎么拼接
SQL字符串拼接直接用+ 号
如下列SQL
声明变量
declare @T nvarchar(50)
declare @T1 nvarchar(50)
set @T='12434'
set @T1='abc'
下面是拼接字符串SQL:
select @T+@T1
结果:12434abc
如果是别的类型,用convert 函数直接转换
如 convert(varchar,'需要转换的数据')
5. Sql拼接字符串
sql
=
"select
*
from"
&
mc
'怎么拼对吗?
这个是正确的。
set
rs
=
Conn.execute("select
*
from
&
mc")
‘怎么拼接对吗?
这个是不对的。这个里面的
sql语句
建议赋值给一个变量,然后直接调用变量,当然也可以这么写,不过要注意格式:set
rs
=
Conn.execute("select
*
from
"&
mc)应该是这个样子的,不知道有没有记错,你试试看。
6. SQL如何实践字符串拼接:
--建表
createtableM
(
idint,
dictvarchar(10)
)
CreateTableN
(
billnoint,
dictdocvarchar(100)
)
--插入数据
insertintoMvalues(1,'A')
insertintoMvalues(2,'B')
insertintoMvalues(3,'C')
insertintoMvalues(4,'D')
insertintoNvalues(1,'1,2,3')
insertintoNvalues(2,'2,3')
insertintoNvalues(3,'1,2,3,4')
--创建函数
CreateFunctionfn_myStr(@StrVarchar(8000))
returnsVarchar(8000)
As
Begin
Declare@RStVarchar(8000)=@Str
Select@RSt=replace(@RSt,id,dict)
FromM
Return@RSt
End
--查询
Select*fromM
selectbillno,dbo.fn_myStr(dictdoc)AsdictdocfromN
7. sql查询字符串拼接
拼串的时候用char(39) 代替单引号,char(37)代替%
SET @sql = 'SELECT * FROM authors WHERE address LIKE '+char(39)+char(37)+@str+char(37)+char(39)
8. sql语句怎么将多个查询结果拼接字符串
第一种应该是正确的,第二种是错误的(前提是cname列是字符串类型)。sql标准里通常要求字符串类型的值两边加单引号。
9. SQL中字符串的连接
在MYSQL中字符串连接使用的是concat内置函数。
CONCAT() 的语法如下:
CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
请注意,Oracle的CONCAT()只允许两个参数;
换言之,一次只能将两个字串串连起来,不过,在Oracle中,可以用'||'来一次串连多个字串。
(9)sql拼接字符串扩展阅读:
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
10. sql语句中的字符串连接
那要看你使用的是什么样的SQL系统,如果使用的是标准的SQL,一般可以这样写:
update
char
set
name=concat(name,"abc")
where
id=1;
这里要注意的是:concat是标准的字符串连接函数,你要保证你name属性的数据类型是字符串型的,还有,根据你使用的系统,决定引用字符串时是使用单引号还是双引号;如果你使用的系统是MySQL,MSSQL或者其他的SQL,一般还有对应的更加简洁的表达式。
还有,在有的SQL系统里,你上面的表达式是可以使用的,只需把单引号换双引号即可。
答案补充
你用我给你些的标准SQL的代码,绝对没有错,我刚才PHPMYADMIN上执行了的,没有问题。如果你不信的话我可以发图。