加不加单引号的区别??

juventus821023 2009-02-23 05:17:27
学MYSQL的时候,书上总是说数值型的值不加单引号
文字型,时间和日期型的值加单引号
那位高手能不能解释下,加不加单引号的区别??

为什么在严密的开发过程中,文字型,时间和日期型的值必须要加单引号?
MYSQL不是可以自动转值的吗?
加不加单引号在DB侧到底有什么不同??

谢谢!
...全文
276 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 juventus821023 的帖子:]
学MYSQL的时候,书上总是说数值型的值不加单引号
文字型,时间和日期型的值加单引号
那位高手能不能解释下,加不加单引号的区别??

为什么在严密的开发过程中,文字型,时间和日期型的值必须要加单引号?
MYSQL不是可以自动转值的吗?
加不加单引号在DB侧到底有什么不同??

谢谢!


[/Quote]

严格来讲,在文字型,时间和日期型的值必须要加单引号,否则由
MYSQL自动转换,但结果不一定正确,有时候会出现莫名其妙的问题,
故在文字型,时间和日期型一定要加单引号。
iihero_ 2009-02-24
  • 打赏
  • 举报
回复
字符串和数值是完全不同的两种表示。
字符串是以ASCII码转进去的。
而数值,最终会被解释成二进制方式。
所以,最终会要进行区分。

举例,数值中的10表示成二进制就是0x000A
可是字符串'10',表示成的内容就是0x3132
这两者区别还是很大的。
juventus821023 2009-02-24
  • 打赏
  • 举报
回复
还想听听别的意见.
fcoolx 2009-02-23
  • 打赏
  • 举报
回复
字符必须加,
数值可不加
ACMAIN_CHM 2009-02-23
  • 打赏
  • 举报
回复
1+'1' = ?
1='1' ?
这两个问题,在系统中可能语法都对,但结果不可控.所以在正规开发中要求严格指明,以防止不可预测的错误.

具体可以看一下高级语言程序设计的教材.
yangxiao_jiang 2009-02-23
  • 打赏
  • 举报
回复
你说的这个,我还真没想过,估计是作为类型区分吧

比如: 123 是数字型的,'123'就是字符型的了。数据库好区分吧。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧