`
ifox
  • 浏览: 64532 次
社区版块
存档分类
最新评论

where后面的字符串明明正确却查不到

 
阅读更多

今天在看到http://haohaoxuexi.iteye.com/blog/1820541这位朋友写的面试题的时候,自己没事,也在自己的电脑上建了张表。

结果查询的时候出问题了。

select * from student;

 

这样是可以查询出所有的记录的,但是加上条件就不行了,例如

select * from student where iname='张三';

让我很是好奇,后面细细想下才发现,原来是自己在建表的时候把这个字段写成了varchar2了,在Oracle中如果varchar2设置的是8位,实际数据占用2位的话,后面6位会被自动定义为空,也是存在的。

所以在查询的时候当然查询不到啦。

做个实验上面的语句假如这样写就可以查询的到了。

select * from student where iname like '张三%';

分享到:
评论

相关推荐

    SQL Server查询中特殊字符的处理方法

    在SQL Server中,单引号用于定义字符串常量。如果查询中需要包含单引号,必须使用两个单引号('')来表示一个实际的单引号。例如,如果你要查找名字为"O'Connor"的用户,正确的查询语句应该是`SELECT * FROM Users ...

    Access模糊查询查不到数据的解决方法

    例如,'%'后面跟上某个字符串,意味着查询任何在该字符串前面有任意数量字符的所有记录。而'*'则是Access特有的通配符,它表示的是与'%'相同的功能,即任意数量的任意字符。 当我们需要在Access中执行模糊查询时,...

    MySQL查询正则表达式.pdf

    - `^Ba*n`:匹配以`B`开头,后面跟着任意数量的`a`,然后是`n`的字符串。 - `^Ba+n`:匹配以`B`开头,后面至少一个`a`,然后是`n`的字符串。 - `^Ba?n`:匹配以`B`开头,后面可选一个`a`,然后是`n`的字符串。 -...

    SQL模糊查询语法小结

    此外,还可以通过编写函数对输入的字符串进行预处理,确保特殊字符能够正确地被识别为普通字符而非通配符。例如,下面给出的一个简单的函数示例: ```sql FUNCTION sqlEncode(str) str = REPLACE(str, "]", "]]") ...

    MySQL使用正则表达式进行查询操作经典实例总结

    例如,'x{2,}'表示匹配出现两次或更多次的'x',而'ba{1,3}'表示匹配'ba'出现1次到3次的字符串。 在具体使用时,可以在MySQL的SELECT语句中应用REGEXP来进行查询。例如,查询fruits表中f_name字段以字母'b'开头的...

    c语言的char形与c++的string的部分使用的比较.pdf

    - 字符串搜索使用`.find()`,如`where = str1.find(str2)`,返回`str2`在`str1`中的位置。 - 插入字符串使用`.insert()`函数,如`str1.insert(2, str2)`将在索引2处插入`str2`。 C++的`std::string`类提供了更多...

    SQLite字符串比较时的大小写问题解决方法

    当在查询中使用`COLLATE NOCASE`时,字符串比较将变为不区分大小写。例如: ```sql SELECT * FROM [User] WHERE UserName = 'user1' COLLATE NOCASE; ``` 这个方法只影响当前的查询,不会改变数据库中列的定义。...

    sql模糊查询.pdf

    在处理数据库操作时,需要注意数据库系统的差异,例如在SQL Server中,字符串连接通常使用`+`,但在Oracle中,正确的字符串连接操作是使用`||`。例如,更新`order_no`字段的正确SQL语句应该是`UPDATE yz_seqno SET ...

    sql语句中用问号代替参数

    参数化查询允许将变量值插入到SQL语句中,而不是直接将它们拼接到字符串中。问号是大多数数据库系统用来表示这些参数的占位符。例如,以下是一个简单的参数化SELECT语句: ```sql SELECT * FROM Users WHERE ...

    参合人员变更查询SQL

    6. 查询的WHERE子句中存在一些语法错误,例如应该用AND或OR来连接不同的条件,而不是简单的字符串连接。 总结以上知识点,我们可以明白,这个SQL查询是为了实现一个动态查询,通过参数化的方式,允许用户输入不同的...

    基于sqlite特殊字符转义的实现方法

    在实际应用中,当我们构建SQL查询语句时,比如`SELECT * FROM table WHERE number LIKE '%/%%' ESCAPE '/'`,`LIKE`操作符后面的`'%/%%'`就是一个已经转义过的字符串,其中`%`被转义为`/%`,并且使用`ESCAPE '/'`来...

    2022年计算机等级考试二级模拟试题及答案.doc

    【知识点详解】 1. 应用程序运行环境:在计算机等级...以上是对VFP相关知识的详细解释,涵盖了从应用程序运行环境到数据库操作、字符串处理、逻辑表达式等多个方面,这些都是计算机等级考试二级VFP部分的重要知识点。

    百万数据查询优化技巧三十则

    - **问题**:在 `WHERE` 子句中使用字符串函数(如 `SUBSTRING`、`DATEDIFF` 等)可能会导致索引失效。 - **建议**:如果可能,应该直接比较字段值,而不是使用函数,例如将 `SUBSTRING(name, 1, 3) = 'abc'` 改为 `...

    2021-2022计算机二级等级考试试题及答案No.17740.docx

    4. 字符串长度:在Python中,将浮点数k=12.5转换为字符串`str(k)`后,其长度为5,因为字符串中包含小数点,所以选项B正确。 5. 默认值设置:在Visual FoxPro中,只能对数据库表的字段设置默认值,不能对自由表设置...

    Mysql 数字类型转换函数

    - `CHAR_LENGTH` 函数返回字符串的长度,不区分字符编码。 - `FROM_UNIXTIME` 将Unix时间戳转换为可读的日期和时间格式。 - 计算时间差的函数如`DATEDIFF`或`TIMESTAMPDIFF`可以用来计算两个日期或时间之间的差值...

    数据库查询、分析工具 - 1.0.0.7 20190616

    FieldToReplace 及下面两个输入框是用来把数据表中某一个字段中的特定字符串替换为其他字符串: StrTobeReplace 是需要被替换掉的字符串,StrToReplace 是用来替换的字符串! (不要奇怪为什么会提供如此奇怪的功能...

    SQL注入之万能密码.docx

    SQL注入是一种常见的网络安全漏洞,它发生在应用程序通过用户输入的数据直接构造SQL查询语句时,如果没有进行适当的参数化处理或过滤,攻击者可以通过输入特定的字符串来操纵后台数据库。"SQL注入之万能密码"是针对...

    CMDEV认证培训包-3期(PX020) PX 020 030202 171习题.docx

    当查询`telephone`字段等于空字符串时,`SELECT name, telephone FROM user WHERE telephone=''`会返回那些`telephone`字段为空字符串的行。在这个例子中,'NULL'表示真正的NULL值,而不是字符串'NULL'。由于只有一...

Global site tag (gtag.js) - Google Analytics