SQL小技巧总结。

一、SQL SERVER如何判断某个字段包含大写字母

View Code

sql语句中默认是不区分大小写的,所以语句: 

Sql代码 
SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'QQ' 
和 
Sql代码 
SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'qq' 

查到的结果是一样的。 

 

如果查询的时候需要区分大小写,需要使用collate Chinese_PRC_CS_AS_WS来进行查询。

SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName collate Chinese_PRC_CS_AS_WS= 'QQ' 

 

要查看某个字段是否包含大写字母 A 的脚本为: 
Sql代码 
select * from RecEngineBizInfo where RecEngineBizName collate Chinese_PRC_CS_AS_WS like '%A%' 
http://www.2cto.com/ 
要查看某个字段是否包含 大写字母 的脚本为: 
Sql代码 
SELECT * FROM RecEngineBizInfo rebi 
WHERE rebi.RecEngineBizName COLLATE Chinese_PRC_CS_AS 
like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%' 

要查看某个字段是否包含 连续两个大写字母 的脚本为: 
Sql代码 
SELECT * FROM RecEngineAttributeInfo reai 
WHERE reai.ZhiLing COLLATE Chinese_PRC_CS_AS 
like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ][ABCDEFGHIJKLMNOPQRSTUVWXYZ]%' 

依次类推。 

详细出处参考:http://www.jb51.net/article/32063.htm

 

 

二、SqlServer数据库全角转换成半角

View Code

CREATE FUNCTION f_Convert
    (
      @str NVARCHAR(max) , --要转换的字符串 
      @flag BIT --转换标志,0转换成半角,1转换成全角 
    )
RETURNS NVARCHAR(4000)
AS 
    BEGIN 
        DECLARE @pat NVARCHAR(8) ,
            @step INT ,
            @i INT ,
            @spc INT 
        IF @flag = 0 
            SELECT  @pat = N'%[!-~]%' ,
                    @step = -65248 ,
                    @str = REPLACE(@str, N'  ', N' ') 
        ELSE 
            SELECT  @pat = N'%[!-~]%' ,
                    @step = 65248 ,
                    @str = REPLACE(@str, N' ', N'  ') 
        SET @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str) 
        WHILE @i > 0 
            SELECT  @str = REPLACE(@str, SUBSTRING(@str, @i, 1),
                                   NCHAR(UNICODE(SUBSTRING(@str, @i, 1))
                                         + @step)) ,
                    @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str) 
        RETURN(@str) 
    END 

--调用。
SELECT  id,dbo.f_Convert(NAME, 1) AS 'Name' FROM    dbo.T_User   

 

id Name
2 李,四             
3 王,五             
4 赵六               
5 qq               
6 QQ                 

 

时间: 2024-09-20 21:47:44

SQL小技巧总结。的相关文章

简单实用的sql小技巧(第一篇)

今天和大家简单分享几个实用的sql小技巧.还有一些还在整理中,会不断的分享出来. 有些其实也不算是sql的技巧,可能大家在写sql语句的时候没有意识到我们可以通过一条sql语句实现一些貌似复杂的功能. 首先来创建测试用表. create table test_obj as select *from dba_objects; 先随机抽出5条记录看看 set linesize 200 select object_id,object_name from test_obj where rownum  O

PL/SQL小技巧一个:在子类中怎么调用父类被重载的方法

技巧 在C++和Java中,这是非常容易实现的C++是:父类名::被重载的方法(参数表), 比如:      ancestorclass::name({arguments});而在Java中,可以用super代替父类,如这样实现      Super.name({arguments}); 而在Oracle 9i Release2中都没实现这样的功能,当然我们可以用其它办法来实现这样的功能. 父类对象类型Create or Replace Type parent as object (      

个人总结mysql数据库13个实用SQL小技巧实例

1,使用CASE来重新定义数值类型 SELECT id,title,    (CASE date WHEN '0000-00-00' THEN '' ELSE date END) AS date    FROM your_table   SELECT id,title,    (CASE status WHEN 0 THEN 'open' WHEN 1 THEN 'close' ELSE 'standby' END) AS status    FROM your_table 2,查找重复的ema

SQL小技巧 又快又简单的得到你的数据库每个表的记录数

但是如何得到某个数据库所有的表的记录数,你要是用上面的方法估计得累死了.呵呵 下面提供如何借用sysindexes和sysobjects表来得到某个数据库每个表记录数的方法: 先给出SQL Server 2000版本的: 复制代码 代码如下: SELECT o.NAME, i.rowcnt FROM sysindexes AS i INNER JOIN sysobjects AS o ON i.id = o.id WHERE i.indid < 2 AND OBJECTPROPERTY(o.id

SQL Server 2000中生成XML的小技巧

本文介绍一个SQL Server 2000中生成XML的小技巧. 以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用for XML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很大程度上提高系统运行效率和开发速度,详细的内容请参见Books Online. 但是在使用ADO(Required ADO 2.6)访问返回的XML的方式和原来的Recordset是有所不同的.如果你还是使用Recordset访问的话,只能得到一个Unicode格式的XML Schema,而无

SQL Server 数据库索引其索引的小技巧_MsSql

一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: 当表没有聚集索引时,成为[堆或堆表] [堆]是一堆未加工的数据,以行标识符作为指向存储位置的指针.表数据没有顺序,也不能搜索,除非逐行遍历.这个过程称为[扫描].当存在聚集索引时,非聚集索引的指针由聚集索引所定义的值组成,所以聚集索引变得非常重要. 因为页面大小固定,所以列越少,所能存储的行就越多.由于非聚集索引通常不包含所有列,所以一般

解决SQL Server无法启动的小技巧_MsSql

SQL Server无法启动主要的原因在登录上,下面就教您一个解决SQL Server无法启动的小技巧,如果您也遇到过SQL Server无法启动的问题,不妨一看. SQLServer有时候会无法正确启动,这是因为Executive服务无法登录引起的.其中一个主要原因就是LocalSystemAccount和AdministratorGroup无法完全控制两个注册表项. 1)打开"开始"菜单并选择"运行".单击"浏览"按钮开始浏览直到找到Wind

解决SQL Server无法启动的小技巧

SQL Server无法启动主要的原因在登录上,下面就教您一个解决SQL Server无法启动的小技巧,如果您也遇到过SQL Server无法启动的问题,不妨一看. SQLServer有时候会无法正确启动,这是因为Executive服务无法登录引起的.其中一个主要原因就是LocalSystemAccount和AdministratorGroup无法完全控制两个注册表项. 1)打开"开始"菜单并选择"运行".单击"浏览"按钮开始浏览直到找到Wind

SQL Server 数据库索引其索引的小技巧

一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: 当表没有聚集索引时,成为[堆或堆表] [堆]是一堆未加工的数据,以行标识符作为指向存储位置的指针.表数据没有顺序,也不能搜索,除非逐行遍历.这个过程称为[扫描].当存在聚集索引时,非聚集索引的指针由聚集索引所定义的值组成,所以聚集索引变得非常重要. 因为页面大小固定,所以列越少,所能存储的行就越多.由于非聚集索引通常不包含所有列,所以一般