sql 查询字段中的前几个字

作者&投稿:都包 (若有异议请与网页底部的电邮联系)
用mysql查询出字段中的前几个字~

用mysql查询出字段中的前几个字可以用left()方法,
如果要查一个字段的前50个字符,sql语句举例:
select left(table_column,50) from table_name;
left(table_column,50) 表示截取table_column左边的50个字符


扩展资料
sql中截取字符串的相关函数介绍:
1、left(name,4)截取左边的4个字符
列:SELECT LEFT(201809,4) 年
结果:2018
2、right(name,2)截取右边的2个字符
SELECT RIGHT(201809,2) 月份
结果:09
3、SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后的所有个字符
SELECT SUBSTRING('1234567',3)
结果:34567
4、SUBSTRING(name, -4) 截取name这个字段的第 4 个字符位置(倒数)开始取,直到结束
SELECT SUBSTRING('1234567',-4)
结果:4567

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中,常用函数介绍:

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函数

可以使用: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参数:可选。需要截取的长度。缺省,即截取到结束位置。 

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



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

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

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

汉字结果如图:



用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)


怀集县15177781273: 如何用sql语句查询一个字段的前几个文字? -
李居之乐: 用LEFT()函数来判断啊 LEFT(字段,10)

怀集县15177781273: SQL如何根据一个字段的某个关键词的前面部分分组查询 -
李居之乐: 你要查询前面的内容的话.用like 新 前面部分的就用%代替如果是新前面的一个的话就用'_' (N个就用N个_) 查询新前面的全部内容 select 某字段a from tablename where 某字段a like '%新' group by 某字段a; 查询新前面的n个字内容 select 某字段a from tablename where 某字段a like '_(注这里的_个数根据自己需要写)新' group by 某字段a; (另外在用group by 时注意..select 查询的要是group by后的或聚合函数)

怀集县15177781273: 用mysql查询出字段中的前几个字 -
李居之乐: 你可以把字段先提取出来 然后,用mb_substr()函数就可以了 这个函数有4个参数,第一个是输入变量,第二个是开始位置,第三个是截取长度,第四个是编码格式 比如我用UTF8格式保存的数据$a="你是abc"; 那么$b=mb_substr($a,0,2,utf8);此时 $b="你是";

怀集县15177781273: sql 读取一字段的前10个字符 语句 -
李居之乐: 这个是用日期转字符串的函数,convert(char(10),字段名,120) as 日期 把这个放在sql查询语句的对应位置就行.

怀集县15177781273: sql 查询语句,只要返回某个字符字段的前N个字符 -
李居之乐: 使用left函数SELECT LEFT(title, 5) FROM titles ORDER BY title_id碰到汉字没办法!

怀集县15177781273: SQL语句查询数表的前n个字段的方法?? -
李居之乐: 可以用存储过程+游标实现,直接调用存储过程p1即可:p1 5 create proc p1 @count int as begin declare @cols nvarchar(200) declare @colname nvarchar(20) set @cols='' declare c1 cursor for select name from syscolumns where id=object_id('t_...

怀集县15177781273: sqlserver数据库中怎样查询某个字段中含有某些字 -
李居之乐: select * from table where fieldname like '%某些字%'

怀集县15177781273: mysql根据某字段查询表里的前几条数据的查询语句 -
李居之乐: 12 SELECT* FROM表名 WHERE条件 ORDERBY字段 DESCLIMIT 100;

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

怀集县15177781273: 在SQL语句中,如果要更新某个字符字段的最前面几个字符如何写语句 -
李居之乐: 用replace和left语句(mssql下通过) update table set 字段1=replace(left(字段1,1),"x") where.....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网