sql提取字段
⑴ sql中如何在where字句里截取某个字段的前几位字符
sql中在where字句里截取字符方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
举例:
1、oracle: 'where substr(字段名,1,2)='''123''''
2、sqlserver: 'where substring(字段名,1,2)='''123''''
(1)sql提取字段扩展阅读:
sql中,常用函数介绍:
1、AVG():返回平均值
2、COUNT():返回行数
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回总和
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
⑵ SQL提取字段值
首先该程序不可能一步达到要求的结果,原因很简单:没有相关的系统函数。
我编程实现,大概思路:
计算userid各自长度。
在userid中查找“帮助”。
删除“帮助”及帮助以后的字符。
插入到table2中。
具体实现:
--编写一个游标,从table1大量数据中一条条取出issid等于1的数据
declare @local_variant char(200)
declare cursor_name cursor for
select userid from table1 where issid='1'
open cursor_name
fetch next from cursor_name into @local_variant
--对userid进行处理
declare @location int
declare @change_data char(200)
--帮助出现的位置
set @location = select patindex("帮助",@local_variant)
--获得帮助前的数据
set @change_data = select substring(@local_variant,1,@location-1)
--第一条数据处理完成,可以插入了
insert into table2(select issid ,a,b,c from table1)AS A value(@change_data,A.issid,A.a,A.b,A.c,e)where issid = "1"
你可以用while循环补全。
⑶ sql语句从表中提取满足条件的字段
指定select 字段就可以了
select商品名称from表A;
⑷ sql 取字段中的部分数据
直接用replace就好了,,,只不过分别执行4次而已
首先在字段的结尾都更新个';'符号
然后在replace
给你举个例子,例如2
update
表
set
字段=replace(字段,'2;','')
后面的3个数字一样的方式更新
⑸ 如何用SQL语句取出数据库中的特定一条数据
通过查询语句select * from user where id=1
我不知道你这个username指的是不是字段,如果是要取出表中某个字段的值。
可以通过select 字段名1,字段名2 ... from user where id=1。
⑹ 运用SQL如何提取想要的字段
这是提取某字符字段中的字符与之相似的。
SQL=Select 字段1 from tabel where 字段1' like '%喜欢%'
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“';”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。
⑺ sql 提取字段某位内容
Select
substring
(字段,5,6)
可以提取字段内
5-10位的内容
但如果字段值长度本身不足5位,就取不到了
⑻ SQL 截取字段
返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效 Microsoft? SQL Server? 数据类型的更多信息,请参见数据类型。
语法
SUBSTRING ( expression , start , length )
参数
expression是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
start 是一个整数,指定子串的开始位置。
length 是一个整数,指定子串的长度(要返回的字符数或字节数)。
返回从字符串左边开始指定个数的字符。
语法
LEFT ( character_expression , integer_expression )
参数
character_expression 字符或二进制数据表达式,可以是常量、变量或列。
character_expression 必须是可以隐式地转换为 varchar 的数据类型。否则,请使用 CAST 函数显式转换 character_expression。
integer_expression 是正整数。如果 integer_expression 为负,则返回空字符串。
返回类型
varchar
返回字符串中从右边开始指定个数的 integer_expression 字符。
语法
RIGHT ( character_expression , integer_expression )
参数
character_expression 由字符数据组成的表达式。character_expression 可以是常量、变量,也可以是字符或二进制数据的列。
integer_expression 是起始位置,用正整数表示。如果 integer_expression 是负数,则返回一个错误。
返回类型
varchar
substr( string, start_position, [ length ] )
⑼ SQL中怎样提取纯数字或者纯字母的字段
完全按照DB2语法设计:
drop function TEST
go
create function test(@input varchar(100))
returns int
begin atomic
declare @int int default 0;
declare @input_lenght int default 0;
set @input_lenght = length(@input);
while @input_lenght <> 0 do
if ( substr(@input,length(@input) - @input_lenght +1,1) in ('0','1','2','3','4','5','6','7','8','9') ) then
set @int = @int + 0;
elseif ( substr(@input,length(@input) - @input_lenght +1,1) in ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z')) then
set @int = @int - 1;
end if;
set @input_lenght = @input_lenght -1;
end while;
if ( @int = 0 or @int = -1* length(@input)) then --- 如果累积为0全是数字;如果累积正好是-1乘以长度则正好全是字段
return 0;
else
return 1;
end if;
end
go
select test ('123456') from sysibm.al 结果是 0
select test ('123b456a') from sysibm.al 结果是 1
select test ('abcdefg') from sysibm.al 结果是 0
⑽ sql截取字段
截取字符串,如:
select substring('abcdefg',1,4)
得到的结果是abcd,即从第一位开始,截取4位