rxcr.net
当前位置:首页 >> 数据库查询拼接字段 >>

数据库查询拼接字段

select cast(column1 as varchar(10))+'-'+cast(column2 as varchar(10)) as p from table1 因为原来是整型字段,所以需要cast成varchar,长度自定.

哪种数据库?如果是sqlserver: select cast(column1 as varchar(10)) + '-' + cast(column2 as varchar(10) ) as p from table 这么一直拼就好了.如果是oracle: select to_char(column1) || '-' || to_char(column1)|| '-' || to_char as p from table

--1、在where的地方可以用case select * from 表1 where 字段1=case when @字段1>0 then @字段1 end--2、或者在赋值的时候 做判断用4个参数,你可以根据下面的写法自己修改 @字段1,@字段2,@字段3,@字段 if @字段1>0 begin select @字段=@字段1 select * from 表1 where 字段1=@字段 end if if @字段1<0 and @ @字段2>0 begin select @字段=@字段2 select * from 表1 where 字段1=@字段 end

SELECT * , [DateTime合并完字段] =CONVERT(DATETIME, ( CONVERT(char, [Date字段]) +' '+ CONVERT(char, [Time字段]))) FROM [TableName]WHERE [DateTime合并完字段] BETWEEN '2010-6-20 13:10:19' AND '2011-6-20 13:10:19'

select case when banji=1 then '1班' when banji=2 then '2班' when banji=3 then '3班'end as bj from 你的表

//比如查询的是一个list对象,对象为User//循环这个list,使用StringBuilder累加,代码如下: StringBuilder sbl = new StringBuilder(); for(Iterator<User> it = list.iterator(); it.hashNext();){ User user = it.next(); sbl.append(user.getName()); } //这里最后返回:sbl.toString(); 就是字符串形式了,建议各个之间用,和-进行标识

拼串的时候用char(39) 代替单引号,char(37)代替% SET @sql = 'SELECT * FROM authors WHERE address LIKE '+char(39)+char(37)+@str+char(37)+char(39)

以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性.sqlserver:select '123'+'456';oracle:select '123'||'456' from dual; 或 select concat('123','456') from dual;mysql:select concat('123','456');注意:oracle和mysql中虽然都有concat,但是oracle中只能拼接2个字符串,所以建议用||的方式;mysql中的concat则可以拼接多个字符串.

可以使用 concat 函数select * from name where concat(`faname`,`lasname`) ='张飞'可以这样试下

select a.id,a.value + b.value from 表1 a ,表2 bwhere a.id = b.id如果表1和表2都不会出现复数条相同id的数据的话,可以采用上述写法.但是如果出现复数条的话,必须写个游标循环,用变量组织.

网站首页 | 网站地图
All rights reserved Powered by www.rxcr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com