mysql排序convert_MYSQL函数Cast和convert的⽤法详解MYSQL Cast函数是⾮常重要的MYSQL函数,下⾯就将为您详细介绍MYSQLCast函数的语法及其使⽤,希望能让您对MYSQL Cast函数有更多的认识。
BINARY    BINARY操作符将后⾯的字符串抛给⼀个⼆进制字符串。这是⼀种简单的⽅式来促使逐字节⽽不是逐字符的进⾏列⽐较。这使得⽐较区分⼤⼩写,即使该列不被定义为BINARY或BLOB。BINARY也会产⽣结尾空⽩,从⽽更加显眼。
mysql>  SELECT  'a'  =  'A';
->  1
mysql>  SELECT  BINARY  'a'  =  'A';
->  0
mysql>  SELECT  'a'  =  'a  ';dword32位值怎么创建
->  1
mysql>  SELECT  BINARY  'a'  =  'a  ';
->  0
BINARY影响整个⽐较;它可以在任何操作数前被给定,⽽产⽣相同的结果。    BINARY  str是CAST(str  AS  BINARY)的缩略形式。  注意,在⼀些语境中,假如你将⼀个编⼊索引的列派给BINARY,  MySQL将不能有效使⽤这个索引。    假如你想要将⼀个BLOB值或其它⼆进制字符串进⾏区分⼤⼩写的⽐较,你可利⽤⼆进制字符串没有字符集这⼀事实实现这个⽬的,这样就不会有⽂书夹的概念。为执⾏⼀个区分⼤⼩写的⽐较,可使⽤CONVERT()函数将⼀个字符串值转化为⼀个不区分⼤⼩写的字符集。其结果为⼀个⾮⼆进制字符串,因此LIKE操作也不会区分⼤⼩写:mysql语句顺序
SELECT  'A'  LIKE  CONVERT(blob_col  USING  latin1)  FROM  tbl_name;
若要使⽤⼀个不同的字符集,  替换其在上述语句中的latin1名。  CONVERT()⼀般可⽤于⽐较出现在不同字符集中的字符串。
小程序onload事件CAST(expr  AS  type),  CONVERT(expr,type)  ,  CONVERT(expr  USING  transcoding_name)    CAST()  和CONVERT()  函数可⽤来获取⼀个类型的值,并产⽣另⼀个类型的值。
这个类型  可以是以下值其中的⼀个:
BINARY[(N)]    CHAR[(N)]    DATE    DATETIME    DECIMAL    SIGNED  [INTEGER]    TIME    UNSI
GNED
[INTEGER]    BINARY  产⽣⼀个⼆进制字符串。
filter函数java
假如给定了随意长度N,则 BINARY[N] 使cast使⽤该参数的不多于  N  个字节。同样的,CHAR[N]会使cast使⽤该参数的不多于N  个字符。
CAST()  and  CONVERT(...  USING  ...)  是标准SQL语法。CONVERT()的⾮USING  格式是ofis  ODBC语法。
带有USING的CONVERT()  被⽤来在不同的字符集之间转化数据。在MySQL中,  ⾃动译码名和相应的字符集名称相同。例如。  这个语句将服务器的默认字符集中的字符串  'abc'转化为utf8字符集中相应的字符串:
SELECT  CONVERT('abc'  USING  utf8);
vb打印代码怎么写当你想要在⼀个CREATE  ...  SELECT  语句中创建⼀个特殊类型的列,则cast函数会很有⽤:
CREATE  TABLE  new_table  SELECT  CAST('2000-01-01'  AS  DATE);sql查看数据库中的表
该函数也⽤于ENUM  列按词法顺序的排序。通常ENUM列的排序在使⽤内部数值时发⽣。将这些值按照词法顺序派给  CHAR  结果:
SELECT  enum_col  FROM  tbl_name  ORDER  BY  CAST(enum_col  AS  CHAR);
CAST(str  AS  BINARY)和BINARY  str相同。 CAST(expr  AS  CHAR)将表达式视为⼀个带有默认字符集的字符串。    若⽤于⼀个诸如CONCAT('Date:  ',CAST(NOW()  AS  DATE))这样的⽐较复杂的表达式的⼀部分,CAST()也会改变结果。  你不应在不同的格式中使⽤CAST()来析取数据,但可以使⽤诸如LEFT() 或 EXTRACT() 的字符串函数来代替。
若要在数值语境中将⼀个字符串派给⼀个数值,  通常情况下,除了将字符串值作为数字使⽤外,你不需要做任何事:
mysql>  SELECT  1+'1';
->  2
若要在⼀个字符串语境中使⽤⼀个数字,该数字会被⾃动转化为⼀个BINARY  字符串。
mysql>  SELECT  CONCAT('hello  you  ',2);
->  'hello  you  2'
MySQL⽀持带符号和⽆符号的64⽐特值的运算。若你正在使⽤数字操作符(如  +)  ⽽其中⼀个操作数为⽆符号整数,则结果为⽆符号。可使⽤SIGNED  和UNSIGNED  cast  操作符来覆盖它。将运算分别派给带符号或⽆符号64⽐特整数。
mysql>  SELECT  CAST(1-2  AS  UNSIGNED)
->  18446744073709551615
mysql>  SELECT  CAST(CAST(1-2  AS  UNSIGNED)  AS  SIGNED);
->  -1
注意,假如任意⼀个操作数为⼀个浮点值,则结果为⼀个浮点值,且不会受到上述规则影响  (关于这⼀点, DECIMAL 列值被视为浮点值)。
mysql>  SELECT  CAST(1  AS  UNSIGNED)  -  2.0;
->  -1.0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。