sql 查询字段中的前几个字

sql 查询字段中的前几个字,比如说 一个字段中存储了一篇文章,而我只查询文章的开头50个字,求各位帮忙

可以使用:substr( string, start_position, [ length ] );string:源字符串;start_position:提取的位置,字符串中第一个位置始终为1;[ length ]:提取的字符数,如果省略,substr将返回整个字符串;

针对本例举例说明:

select * from 表名 where substr([D],1,2)=“10”

语句功能说明:从指定表中查询D字段第1、2个字符为“10的记录”。

扩展资料:

注意事项

语法:substr(string,start,length)

string参数:必选。数据库中需要截取的字段。

start参数:必选。

正数,从字符串指定位子开始截取;负数,从字符串结尾指定位子开始截取;0,在字符串中第一个位子开始截取。1,同理。(特殊)

length参数:可选。需要截取的长度。缺省,即截取到结束位置。 

注意:若必选参数为空,那返回的结果也为空。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-02

SQL serve 中可以使用函数left(字段,字数)来查询。

其他数据库管理系统也有类似的函数。以下一SQL serve 为例,例图中表a的列a

使用:select left(a,4) from a; 查看 字段a 的前4个字

汉字结果如图:

第2个回答  推荐于2017-09-15
用LEFT函数
LEFT
返回从字符串左边开始指定个数的字符。

语法
LEFT ( character_expression , integer_expression )

参数
character_expression

字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 必须是可以隐式地转换为 varchar 的数据类型。否则,请使用 CAST 函数显式转换 character_expression。

integer_expression

是正整数。如果 integer_expression 为负,则返回空字符串。

返回类型
varchar

注释
兼容级别可能影响返回值。有关兼容级别的更多信息,请参见 sp_dbcmptlevel。

示例
A. 对列使用 LEFT 函数
下面的示例返回每个书名最左边的 5 个字符。

USE pubs
GO
SELECT LEFT(title, 5)
FROM titles
ORDER BY title_id
GO

下面是结果集:

-----
The B
Cooki
You C
Strai
Silic
The G
The P
But I
Secre
Net E
Compu
Is An
Life
Prolo
Emoti
Onion
Fifty
Sushi

(18 row(s) affected)

B. 对字符串使用 LEFT 函数
下面的示例使用 LEFT 函数返回字符串 abcdefg 最左边的 2 个字符。

SELECT LEFT('abcdefg',2)
GO

下面是结果集:

--
ab

(1 row(s) affected)本回答被提问者采纳

sql 查询字段中的前几个字
可以使用:substr( string, start_position, [ length ] );string:源字符串;start_position:提取的位置,字符串中第一个位置始终为1;[ length ]:提取的字符数,如果省略,substr将返回整个字符串;针对本例举例说明:select * from 表名 where substr([D],1,2)=“10”语句功能说明:从指定...

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'''...

SQL如何查找字段中的前几个字符
select left(cInvAddCode,查找的字符数)from Inventory

sql2005 查询表中某个字段的的前4位
如果是bigint类型则使用沉默用户的答案,如果是varchar等字符串类型的话,使用left函数比较,如 where left(Num,4)=='2301'

sql语句中如何查出int类型字段的前几位
select cast(substring(cast(table.id as char),1,3) as int) from tablename.原理就是两次转换...先变成字符串 截取3位再转int.如果是oracle数据库 截字符串函数为substr 数据类型为 varchar ,number 我已经运行成功了 你试试 ...

sql 查询某字段的某段内容
如果 表结构是这样的话 text ,sdate 的话 可以使用 select test||sdate from book where sdate = (select min(sdate) from book where text ='张三')

oracle sql 取字段前几位?
substr(字段, 起始位, 长度)。sample只对单表生效,不能用于表连接和远程表。sample会使SQL自动使用CBO。延展内容:Oracle使用sample获得随机结果集语法: SAMPLE [ BLOCK ](sample_percent)[ SEED (seed_value) ]。SAMPLE选项:表示按行采样来执行一个全表扫描,Oracle从表中读取特定百分比的记录,并...

access中如何用用SQL语句截取某个字段的前两位值,如下图
SELECT LEFT(部门,2) FROM 表

mysql、 sql server 、access 如何只读取前几个字符
sql语句concat啊,比如,select if(char_length(title)>10,concat(left(title,10),\\"...\\"),title) title,id from news 是截取前十个字符的

在sql查询字段中怎么去判断是以某字母开头
,email);注意,mysql字符串函数find_in_set(str1,str2)返回str2中str1的位置索引,str2必须被分割成“,”。方法3:多值模糊查询,使用mysql正则:REGEXP。这个方法相当于(比如'%1%'或'%3%'或'%5%')。从'by_content'中选择*,其中标题REGEXP'(1|,3|5)'。

相似回答