架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8265|回复: 0

[资料] sql server字段只能包含汉字、字母、数字

[复制链接]
发表于 2018-12-7 13:24:31 | 显示全部楼层 |阅读模式
因为,需要查询数据库里面的一些涨数据,要求字段内容只能包含汉字、字母、数字,不能包含特殊符号(特殊数据除外)
首先看下效果,如下:

微信截图_20181207132137.png


参考资料:

数据库sql如何查询某个字段只含有数字和字母或者是汉字

-只含有数字和字母的

select 列名 from 表名 where REGEXP_LIKE(列名,'^([\u4e00-\u9fa5]+)$')

--只含有汉字

select 列名 from 表名 where length(列名)=length(ASCIISTR(列名))-length(replace(ASCIISTR(列名),'\',''))


说明:asciistr()函数会将字符串转换成ASCII值,如果这个字符在ASCII码表中,则转化成ASCII对应的字符;如果没有(如中文和全角字符),则转成\xxxx格式。


length()函数统计中文长度为1,lengthb()对应的一个汉字为2字节。上边的语句是在比较汉字的个数和转成ASCII值后\的个数,如若相等,则说明全是汉字。(如果想要排除全角符号的影响,则需先把字段半角,函数为 to_single_byte())。



sqlserver2008r2查找非中文字母数字出现的第一个位置

环境:
测试数据库sqlserver2008r2,排序规则Chinese_PRC_CI_AS,其它环境没有试过
语句


返回值:4

我的解决方案

(完)





上一篇:有奖调查问卷,你是如何知道本站的?
下一篇:修改成自己的网关,内网外网 同时上 前提是有两个网卡
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-20 17:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表