mysql中int型的数字怎么转换成字符串

mysql中int型的数字怎么转换成字符串,第1张

MySQL 数字类型转换函数(concat/cast)。

1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符 ’80′。

2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串。

总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)。

扩展资料:

可用的类型:

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

cast函数运行示例

参考资料:mysql-百度百科

    字符串类型的数字默认在比较大小时,往往会遇到一些坑,例如:在10和9比较大小时字符串类型的数字会以为9比10大,但事实上我们想要比较的结果是10>9,这是为什么呢?其实字符串在比较大小时,比较的是它对应的ASCII码,1的ASCII码比9对应的ASCII码小,系统就会认为10<9。 这时我们可以使用MySQL的 CAST() 函数,将想要转换的字符串转换成想要的类型。

    例如:字符串‘123.45’可以转成整数,DECIMAL默认取得整数,也可以使用SIGNED

    当然也可以指定小数位数,5代表了要取的数字位数(整数位和小数位和),2代表要取到的小数位数。

        转换完成就可以用来进行后期的数值比较了!

你这两个都不是字符串的比较函数呀。

MYSQL的字符串比较函数如下:

通常,如果在字符串比较中的任何表达式是区分大小写的,比较以大小写敏感的方式执行。

expr LIKE pat [ESCAPE 'escape-char']

使用SQL的简单的正规表达式比较的模式匹配。返回1(TRUE)或0(FALSE)。用LIKE,你可以在模式中使用下列2个通配符字符: % 匹配任何数目的字符,甚至零个字符

_ 精确匹配一个字符

mysql>select 'David!' LIKE 'David_'

->1

mysql>select 'David!' LIKE '%D%v%'

->1

为了测试一个通配符的文字实例,用转义字符的加在字符前面。如果你不指定ESCAPE字符,假定为“\”:

\% 匹配一%字符

\_ 匹配一_字符

mysql>select 'David!' LIKE 'David\_'

->0

mysql>select 'David_' LIKE 'David\_'

->1

为了指定一个不同的转义字符,使用ESCAPE子句:

mysql>select 'David_' LIKE 'David|_' ESCAPE '|'

->1

LIKE允许用在数字的表达式上!(这是MySQL对ANSI SQL LIKE的一个扩充。)

mysql>select 10 LIKE '1%'

->1

注意:因为MySQL在字符串中使用C转义语法(例如,“\n”),你必须在你的LIKE字符串中重复任何“\”。例如,为了查找“\n”,指定它为“ \\n”,为了查找“\”,指定它为“\\\\”(反斜线被分析器剥去一次,另一次是在模式匹配完成时,留下一条单独的反斜线被匹配)。

expr NOT LIKE pat [ESCAPE 'escape-char']

与NOT (expr LIKE pat [ESCAPE 'escape-char'])相同。

expr REGEXP pat

expr RLIKE pat

执行一个字符串表达式expr对一个模式pat的模式匹配。模式可以是一个扩充的正则表达式。见MySQL 正则表达式句法的 H 描述.如果expr匹配pat,返回1,否则返回0。RLIKE是REGEXP的一个同义词,提供了与mSQL的兼容性。注意:因为MySQL在字符串中使用C转义语法(例如,“\n”), 你必须在你的REGEXP字符串重复任何“\”。在MySQL3.23.4中,REGEXP对于正常的(不是二进制)字符串是忽略大小写。

mysql>select 'Monty!' REGEXP 'm%y%%'

->0

mysql>select 'Monty!' REGEXP '.*'

->1

mysql>select 'new*\n*line' REGEXP 'new\\*.\\*line'

->1

mysql>select "a" REGEXP "A", "a" REGEXP BINARY "A"

->1 0

当决定一个字符的类型时,REGEXP和RLIKE使用当前的字符集(缺省为ISO-8859-1 Latin1)。

expr NOT REGEXP pat

expr NOT RLIKE pat

与NOT (expr REGEXP pat)相同。

STRCMP(expr1,expr2)

如果字符串相同,STRCMP()回来0,如果第一参数根据当前的排序次序小于第二个,返回-1,否则返回1。

mysql>select STRCMP('text', 'text2')

->-1

mysql>select STRCMP('text2', 'text')

->1

mysql>select STRCMP('text', 'text')

->0


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7338997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存