sql 查询以指定字符开头sql查询语句

sql 查询以指定字符开头sql查询语句
 像很多时间我们需要在mysql教程,mssql 进行查询符合条件的数据,今天我就碰到一个查询以“邓”开头的所有符合条件记录。
 我用了二种查询方法下面来看实例
 
 先登陆一个数据库教程cc,
 
 create database cc;
 
 再创建表
 
 CREATE TABLE IF NOT EXISTS `string_find` (
   `id` int(4) NOT NULL auto_increment,
   `charList` varchar(100) default NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
 
 导入测试数据
 
 INSERT INTO `string_find` (`id`, `charList`) VALUES
 (1, '邓先驱者'),
 (2, '邓先驱者'),
 (5, 'fdafdsaf'),
 (6, 'www.111cn.net');
 
 好了万事具备了。
 

$dbHost ='localhost'; //可以不变
$dbUser ='root'; //你mysql用户名
$dbPass ='root'; //修改成你自己的mysql server 密码
$db ='cc';
$charset ='gbk';

$conn = mysql_pconnect($dbHost,$dbUser,$dbPass) or die(mysql_error());
mysql_select_db($db,$conn); 
mysql_query("set Names '$charset'"); 

//查询sql语句一

$sql ="Select * from string_find  where charList like '邓%'"; 
$query = mysql_query( $sql );
if( mysql_num_rows( $query ) )
{
 while( $rs = mysql_fetch_array( $query ) )
 {
  echo $rs[1],'<br />';
 }
}
else
{
 exit('没有找到相关记录');
}
/*
输出结果

邓先驱者
邓先驱者

方法查询二
*/ 

$sql ='Select * from string_find  where charList REGEXP "^邓"'; 
$query = mysql_query( $sql );
if( mysql_num_rows( $query ) )
{
 while( $rs = mysql_fetch_array( $query ) )
 {
  echo $rs[1],'<br />';
 }
}
else
{
 exit('没有找到相关记录');

/*
得出的结果不一样,只是用了mysql正则表达式了 

本文章原创于www.111cn.net 中国WEB第一站,转载注明出处

时间: 2024-08-16 11:57:11

sql 查询以指定字符开头sql查询语句的相关文章

解决ASP无法查询包含日文字符的SQL语句问题

sql|查询|解决|问题|语句|日文 网上的那些方法好麻烦,什么编码再解码的其它用一句代码就可以轻松解决,但感觉效率没有like那么高. where InStr(1,LCase(UE_Title),LCase('"&Grekey&"'),0)<>0 如果你也遇到同样的问题,不防这样处理试试吧..

vb6 sql instr-vb6环境下,无法使用instr、charindex查询数据库指定字段中特定字符的位置。

问题描述 vb6环境下,无法使用instr.charindex查询数据库指定字段中特定字符的位置. 创建视图,需要查询数据库指定字段特定字符,代码以下: quetn = "create view que_ta AS select max(que_info.test_id) as test_id,sum(case when instr(1, que_category.cate_name, '选择题')>0 then 1 end) as 选择题," & _ "sum

查询循环问题-SQL如何查询出指定期间的日期范围???

问题描述 SQL如何查询出指定期间的日期范围??? 如上图是原始数据表,表明为t_Perioddate ,希望能输入FYear和FPeriod的值后,能找出当年的FPeriod之前,FPeriod,FPeriod+1,FPeriod+2,FPeriod+3和FPeriod+3之后的日期范围,若FPeriod+n大于12时,则FYear+1,且FPeriod也从1开始. 例如:我输入FYear=2015和FPeriod=9,则显示的结果(插入一个新表)为,如下图

【sql查询与优化】2.给查询结果排序

注:以下所有sql案例均取自"oracle查询优化改写技巧与案例"丛书. EMP表的详细: 查询所有信息, SQL> select * from emp;      EMPNO ENAME                JOB                       MGR HIREDATE       SAL        COMM       DEPTNO ---------- -------------------- ------------------ -------

MS SQL Server带有时间的记录怎样查询

原文:MS SQL Server带有时间的记录怎样查询 比如某一张表[A]有一个保存日期包含时间字段[B],如果以这个段[B]作查询条件对数据记录进行查询.也我们得花些心思才能查询到我们想得到的记录. 现在我们需要查询这天2014-06-21的所有记录: SELECT * FROM [A] WHERE [B] = '2014-06-21' 上面的语法,将查询不到任何记录.也许会有网友想到使用BETWEEN: SELECT * FROM [A] WHERE [B] BETWEEN '2014-06

SQL Server-聚焦深入理解动态SQL查询(三十二)

前言 之前有园友一直关注着我快点出SQL Server性能优化系列,博主我也对性能优化系列也有点小期待,本来打算利用周末写死锁以及避免死锁系列的接着进入SQL Server优化系列,但是在工作中长时间都是利用EF来操作SQL,不免对写SQL语句有些生疏,在某些场景下还是只能利用底层的SQL语句或者写存储过程来实现,很久没写存储过程都忘记怎么写了,所以本节穿插动态SQL查询的文章,别着急,博主说过不会烂尾,博主再忙也会抽空将整个SQL Server系列梳理完毕,那样的话,无论对初级还是中级者都可以

sql子查询中列别名在主查询中无效

问题描述 sql子查询中列别名在主查询中无效 CREATE PROCEDURE dbo.query_test( @i_begin_time varchar(128) IN, /* 开始时间 / @i_end_time varchar(128) IN, / 结束时间 / @i_bussiness_tpe varchar(512) IN, / 类型 ) as declare @v_sql varchar(16384)/* 定义 需要执行的sql / declare @Rtime varchar(12

如何在SQL Server中由原子建立分子查询

每位SQL Server开发员都有自己的首选操作方法.我的方法叫做分子查询.这些是由原子查询组合起来的查询,通过它们我可以处理一个表格.将原子组合起来,可以建立分子.当然也会有限制(化学家所称的化合价),但一般来说,这个原理还是适用的. 在本文中,我将探讨这种策略的几种变化.我从最基本的内容开始(即最详细的内容),然后逐步深化.为让你了解这种方法的灵活性,我会在不同层次使用几种技巧.(警告:这并不是唯一的解决方法,我只是在讨论一些可行的选择.) 我从普遍使用的数据库Northwind开始(虽然为

SQL Story摘录(二)————联接查询初探

例1-2.键值重复的信息现在看一下压缩掉重复信息的PRODUCT表ID PNAME PRICE NUMBER PDESCRIPTION 1Apple 123000NULL2Banana 16.997600NULL3Olive 25.224500NULL4Coco Nut 40.992000NULL4Orange 15.995500NULL5Pineapple 302500NULL6Olive 25.223000NULL 这里还有几个有问题的地方.表中Coco Nut和Orange的ID都是4,I