最近在写MYSQL,请教个问题,加单引号值(数值型,文字型,日期型)与不加单引号的值的区别是什么??

解决方案 »

  1.   


    数值型加引号不加引号是一样的文字型的必须加引号日期型如果是"yyyymmdd"形式的加引号和不加引号是一样的,"yyyy-mm-dd"形式的必须加引号 
      

  2.   


    MySQL在操作符两边的参数不同类型时,会进行类型转化操作。多数情况下,这些转化是隐式的。你也可以使用函数cast()等实现类型显式转化。
    隐式转化的规则如下:
    1、若有一个或两个参数为 NULL,除非NULL-safe <=> 等算符,则比较运算的结果为NULL。
    2、若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
    3、若两个参数均为整数,则按照整数进行比较。 
    4、十六进制值在不需要作为数字进行比较时,则按照二进制字符串进行处理。
    5、假如参数中的一个为 TIMESTAMP 或 DATETIME 列,而其它参数均为常数, 则在进行比较前将常数转为 timestamp。这样做的目的是为了使ODBC的进行更加顺利。 注意,这不适合IN()中的参数!为了更加可靠,在进行对比时通常使用完整的 datetime/date/time字符串。
    6、在其它情况下,参数作为浮点数进行比较。