原文:SQL Server判断某个字段是否包含中文/英文字符/数字 因最近在清理系统中的脏数据,需要查询某个字段是否包含中文/英文字符/数字的数据, 比较简单,仅以此篇博客做一个简单总结,方便以后查阅. 1.判断某个字段是否包含中文字符 SELECT * FROM dbo.Channel_ShopCommodity AND StoreCode LIKE '%[吖-座]%'; 2.判断某个字段是否包含英文字符 SELECT * FROM dbo.Channel_ShopCommodity AND
可以使用 ORACLE TRUNC()函数 来进行判断 表 A 日期字段 datetime 部分数据带时分秒,部分数据没有时分秒 select * from A where datetime = TRUNC(datetime) --不包含时分秒 select * from A where datetime <> TRUNC(datetime) --包含时分秒 也可以用 TRUNC() 函数来更新数据. TRUNC():类似截取函数,按指定的格式截取输入的数据. .[trunc(for date
中文=2个字节,英文或数字=1个字节,因此我们用mysql中两个函数比较字节和字符的长度是否相等来判断是否包含中文 select * from user where CHAR_LENGTH(name)=LENGTH(name) 如果想过滤掉空字符串或限制下长度可以加上长度判断 select * from user where CHAR_LENGTH(name)=LENGTH(name) and LENGTH(name)>3 这样就能搜索出纯字母.数字的数据了.可用此方法过滤掉垃圾数据.
比如 insert into table a (a1,b1)values("a1",''); 对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用 select * from a where b1=''; sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not应该如此使用: select * from A where b1 is null 或者: select * from A where b1 is not null