如果是ORACLE,可以:
select translate(str,'x1234567890','x') from dual,如果得到的是空则是数字,如果不是空,则是带字符串的。
数据库只管存储数据,你如果非得在数据库里直接录入数据,那你就用check约束写段代码
如果你用前台程序就判断一下,给你一个建议,按位取,判断是不是数字,一般的编程语言都有这个函数,类似于isnumber()
再就是按位取判断ascii码值,判断是不是在0-9ascii值内就OK了
==================================
好久不用asp写程序了
第二:你判断是不是在0-9之间有好几个办法,如上文所说,可是你现在用字符对比大于小于肯定是不对的,按现在的办法应该是你把取得的字符变成数字型再判断是否是大于等于0或小于等于9才行
第三:再提一个办法,不用转成数值型,你先定义一个变量:
例: dim str ls_num,ls_qq,ll_pos
ls_num = '0123456789'
ls_qq = mid(qq,i,1)
ll_pos = instr(ls_num,ls_qq,1)
1 代表从第1个位置开始查找
把你按位取出来的数字用instr函数判断一下
返回值大于零说明是数字
返回值等于零说明是字符
这样说明白了吗?
以上就是关于sql判断一个字符串是否是数字全部的内容,包括:sql判断一个字符串是否是数字、数据库数据类型的使用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)