SQL Server 中查询非中文,非英文,非数字的特殊列
今天在处理一个用户名数据库时,发现有些不正常的数据存在,按照逻辑,用户名只能是数字,字母,下划线和纯中文这样的字符组合存在,不应该有其他组合存在,但是发现数据库中由于各种历史原因,有些不正常的存在,如何找到这些异常数据,在CSDN的 SQL Server 版问了这样两个问题,如下: http://topic.csdn.net/u/20100111/14/529a21a1-3ea8-4263-a0d9-34e83be79b1d.html http://topic.csdn.net/u/20100111/15/c2a124c5-bc5b-4626-86ce-c5b862cf5cff.html 感谢CSDN的网友帮忙解决了这个问题,下面就是解决方法的汇总: if object_id('[t1]') is not null
drop table [t1]
create table [t1]([c] nvarchar(20))
insert [t1]
select 'aaa' union all -- 此数据不应该被搜索到
select 'bcds' union all -- 此数据不应该被搜索到
select 'a1' union all -- 此数据不应该被搜索到
select '啊' union all -- 此数据不应该被搜索到
select '^%' union all -- 应该搜索到
select 'ew1' union all -- 此数据不应该被搜索到
select '344' union all -- 此数据不应该被搜索到
select '__' union all -- 此数据不应该被搜索到
select '213_21' union all -- 此数据不应该被搜索到
select 'a_2' union all -- 此数据不应该被搜索到
select 'd' union all -- 此数据不应该被搜索到
select 'ddd' union all -- 此数据不应该被搜索到
select '电风扇' union all -- 此数据不应该被搜索到
select '★思寒★' union all -- 应该搜索到
select 'Ω' union all -- 应该搜索到
select 'トントン' union all -- 应该搜索到
select '***' union all -- 应该搜索到
select '///////' union all -- 应该搜索到
select '@-@' union all -- 应该搜索到
select '@小慧' union all -- 应该搜索到
select '~*晓菊*~' union all -- 应该搜索到
select '啊★洛' union all -- 应该搜索到
select '不思議の夜' union all -- 应该搜索到
select '(嘉宾)胡飞' union all -- 应该搜索到
select '--------------' -- 应该搜索到
select * from [t1] WHERE PATINDEX('%[0-9a-z_]%',c)=0
and PATINDEX('%[^吖-座]%',c) 0
另外感慨一下,CSDN的 SQL Server 版 问出问题到解决问题,竟然比Google 搜索答案还要快, SQL Server 版 的牛人真多, 而且回答的这么快,实在让人吃惊。
相关文档:
返回代表指定日期的指定日期部分的整数。
语法
DATEPART ( datepart ,date )
参数
datepart
是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分缩写
year
yy, yyyy
quarter
qq, q
month
mm, m
dayofyear
dy, y
day
dd, d
week
wk, ww
weekda ......
最近由于系统的需求,所以要了解一下如何优化sql server,下面是我的一些总结,不足的地方希望大家批评指正。说要优化大家一定会想到索引,那我们就从索引开始吧。 微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引),下面 ......
1.字符串函数
长度与分析用
datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格
substring(expression,start,length) 不多说了,取子串
right(char_expr,int_expr) 返回字符串右边int_expr个字符
字符操作类
upper(char_expr) 转为大写
lower(char_expr) 转为小写
space(int_expr) 生成int_exp ......
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(Create,Alter,Drop,DECLARE)
DML—数据操纵语言(Select,Delete,Update,Insert)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
Create&nb ......
http://www.oreilly.com/catalog/artofsql (原书)
http://www.oreilly.com.cn/book.php?bn=978-7-121-05834-9 (中文版)
数据库技术是企业信息化开发的基础。在制造业信息化领域从业多年,自己对这块知识却一直零碎杂乱,应该理顺思路,为架构设计的目标建立基础。
此书 ......