SQL Server 2000判断字符串中是否只有数字和英文字母的函数
SQL Server 2000 判断字符串中是否只有数字和英文字母的函数
2009年02月16日 星期一 23:31
/*
判断字符串中是否只有数字和英文字母的函数
declare @str varchar(500)
set @str = '4d)'
if dbo.IsOnlyNumAndEngth(@str) = 1
print '只包含数字与英文'
else
print '含有非数字与英文'
*/
CREATE function IsOnlyNumAndEngth(@str varchar (8000))
returns bit
as
begin
declare @i int
declare @j int
declare @k bit
declare @g char
set @i=len(@str)
set @j=1
set @k=1
if @str = ''
begin
set @k=0
end
while @j <=@i
begin
set @g = substring(@str,@j,1)
If(ascii(@g) Not in ( ascii('1'), ascii('2'), ascii('3'), ascii('4'),
ascii('5'), ascii('6'), ascii('7'), ascii('8'), ascii('9'), ascii('0'),
ascii('Q'), ascii('W'), ascii('E'), ascii('R'), ascii('T'), ascii('Y'),
ascii('U'), ascii('I'), ascii('O'), ascii('P'), ascii('A'), ascii('S'),
ascii('D'), ascii('F'), ascii('G'), ascii('H'), ascii('J'), ascii('K'),
ascii('L'), ascii('Z'), ascii('X'), ascii('C'), ascii('V'), ascii('B'),
ascii('N'), ascii('M'),
ascii('q'), ascii('w'), ascii('e'), ascii('r'), ascii('t'), ascii('y'),
ascii('u'), ascii('i'), ascii('o'), ascii('p'), ascii('a'), ascii('s'),
ascii('d'), ascii('f'), ascii('g'), ascii('h'), ascii('j'), ascii('k'),
ascii('l'), ascii('z'), ascii('x'), ascii('c'), ascii('v'), ascii('b'),
ascii('n'), ascii('m')))
Begin
set @k=0
break
end
set @j=@j+1
end
return @k
end
注:
set @str = '58d '
dbo.IsOnlyNumAndEngth(@str)会为0
后在的空格本人还没有办法进行处理
知道如何处理才好的请留言!
sql server字符串函数
sql server字符串函数SQL Server提供了许多字符串函数,这些函数可以用于处理和操作字符串。
下面是一些常用的SQL Server字符串函数:1. LEN() 函数:返回一个字符串的长度。
2. LEFT() 函数:返回一个字符串的左侧指定数量的字符。
3. RIGHT() 函数:返回一个字符串的右侧指定数量的字符。
4. SUBSTRING() 函数:返回一个字符串中从指定位置开始的指定长度的子串。
5. REPLACE() 函数:替换一个字符串中所有出现的指定子串为另一个子串。
6. UPPER() 函数:将一个字符串转换为大写。
7. LOWER() 函数:将一个字符串转换为小写。
8. LTRIM() 函数:去除一个字符串左侧的空格。
9. RTRIM() 函数:去除一个字符串右侧的空格。
10. CONCAT() 函数:将两个或多个字符串连接成一个新的字符串。
下面是这些函数在SQL Server中使用示例:-- LEN()函数示例SELECT LEN('Hello World') AS LengthOfHelloWorld;-- LEFT()函数示例SELECT LEFT('Hello World', 5) AS LeftFiveCharacters;-- RIGHT()函数示例SELECT RIGHT('Hello World', 5) AS RightFiveCharacters;-- SUBSTRING()函数示例SELECT SUBSTRING('Hello World', 7, 5) AS SubstringFromSevenToEleven;-- REPLACE()函数示例SELECT REPLACE('Hello World', 'World', 'SQL Server') AS ReplaceWorldWithSqlServer;-- UPPER()函数示例SELECT UPPER('Hello World') AS UpperCaseString;-- LOWER()函数示例SELECT LOWER('Hello World') AS LowerCaseString;-- LTRIM()函数示例SELECT LTRIM(' Hello World') AS TrimmedString;-- RTRIM()函数示例SELECT RTRIM('Hello World ') AS TrimmedString;-- CONCAT()函数示例SELECT CONCAT('Hello', ' ', 'World') AS ConcatenatedString;这些SQL Server字符串函数可以帮助您更轻松地处理和操作字符串。
SQLServer字符串处理函数大全(转)_Delphi人生
SQLServer字符串处理函数大全(转)_Delphi人生SQL Server字符串处理函数大全(转)2009-02-25 15:54看到写的很全,收集起来好用。
select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql 对应的函数就可以了。
left()是sql函数。
select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据、字符串和表达式执行不同的运算。
此类函数作用于CHAR、VARCHAR、BINARY、和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。
可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。
常用的字符串函数有:一、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。
在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()将ASCII 码转换为字符。
如果没有输入0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。
3、LOWER()和UPPER()LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
4、STR()把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的小数位数。
如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;当length 小于小数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数小于length ,左边补足空格。
sql server查询数字正则
sql server查询数字正则
在SQL Server中,可以使用LIKE运算符和通配符来实现数字正则表达式的查询。
例如,要查询所有以数字开头的字符串,可以使用以下查询语句:
```sql
SELECT column_name
FROM table_name
WHERE column_name LIKE '[0-9]%'
```
上述查询语句中,`column_name`是要查询的列名,`table_name`是要查询的表名。
`[0-9]`表示匹配任意一个数字,`%`表示匹配任意个字符。
如果要查询所有只包含数字的字符串,可以使用以下查询语句:
```sql
SELECT column_name
FROM table_name
WHERE column_name LIKE '[0-9]%'
AND column_name NOT LIKE '%[^0-9]%'
```
上述查询语句中,`[^0-9]`表示匹配任意一个非数字字符。
注意,SQL Server中的正则表达式查询功能有限,不如其他编程语言中的正则表达式功能强大。
如果需要更复杂的正则表达式查询,可能需要使用其他方法,如编写自定义的函数或使用CLR集成。
SQLServer中截取字符串的常用函数
SQLServer中截取字符串的常⽤函数--1、LEFT()⽅法-----函数说明-----1)语法:LEFT(character,integer)--2)介绍:参数1:要截取的字符串,参数2:截取字符个数--3)使⽤:--返回从字符串左边开始指定个数的字符--select LEFT('SqlServer_2008',3)--4)返回:Sql--1、RIGHT()⽅法----- right()函数说明-----1)语法:RIGHT(character,integer)--2)介绍:参数1:要截取的字符串,参数2:截取字符个数--3)使⽤:--返回从字符串右边开始指定个数的字符--select LEFT('SqlServer_2008',4)--4)返回:2008--1、SUBSTRING()⽅法----- substring()函数说明-----1)语法:SUBSTRING(character,start,length)--2)介绍:参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度--3)使⽤:--返回从字符串中间的字符--select SUBSTRING('SqlServer_2008',4,6)--可结合charindex()函数使⽤select substring(字段名称,charindex('-',字段名称)+1,len(字段名称)-charindex('-',字段名称))charindex('要查找的⼦字符串','⽗字符串'[,开始查找的位置,默认为0])--4)返回:Server。
SQLServer中判断字符串出现的位置及字符串截取
SQLServer中判断字符串出现的位置及字符串截取⾸先建⼀张测试表:create table teststring(name nvarchar(100));insert into teststringvalues('张三,李四,王五,马六,萧⼗⼀,皇宫');1.判断字符串中某字符(字符串)出现的次数,第⼀次出现的位置最后⼀次出现的位置:查看’,’出现的次数select LEN(name)-LEN(REPLACE(name,',','')) from teststring;查看’,’第⼀次出现的位置:select CHARINDEX(',',name) from teststring;查看’,’最后⼀次出现的位置:select len(name)-(CHARINDEX(',',REVERSE(name))-1) from teststring;2.取出以’,’分隔开的字符(串),这个例⼦中就是’张三’、’李四’等这是有规律的,⾸先应该想到有没有特定的系统函数实现,好像没有,其次就应该想到循环了。
当我把’张三’取出后,怎样把’张三,’去掉呢?取’张三’不难,select SUBSTRING(name,1,CHARINDEX(',',name)-1) from teststring;如何把’张三,’去掉呢?开始我也不知道,baidu、google啊,关键字sql、split吧,总之我也是搜的select STUFF(name,1,CHARINDEX(',',name),'') from teststring;好像⽤replace也能实现select REPLACE(name,substring(name,1,CHARINDEX(',',name)),'') from teststring;那现在就差循环了,我很少写存储过程或函数的,语法都不记得,⽤的时候现查(经常⽤就记得了),我都写匿名的存储过程,哈哈create table teststring2(name nvarchar(100));declare@name nvarchar(100);select@name= name from teststring;while(CHARINDEX(',',@name)<>0)begininsert into teststring2 select SUBSTRING(@name,1,CHARINDEX(',',@name)-1);set@name=STUFF(@name,1,CHARINDEX(',',@name),'');set@i=@i+1;endinsert into teststring2select@nameselect * from teststring2就可以看到了。
sqlserver字符串非空判断实现方法
sqlserver字符串非空判断实现方法在SQL Server中,可以使用以下方法来判断一个字符串是否为空:1.使用LEN(函数:LEN(函数用于返回一个字符串的长度。
当字符串为空时,LEN(函数返回0。
```sqlSELECT column_nameFROM table_nameWHERE LEN(column_name) > 0;```2.使用DATALENGTH(函数:DATALENGTH(函数用于返回一个字符串的字节数。
当字符串为空时,DATALENGTH(函数返回0。
```sqlSELECT column_nameFROM table_nameWHERE DATALENGTH(column_name) > 0;```3.使用ISNULL(函数:ISNULL(函数用于判断一个表达式是否为NULL,并返回一个指定的替代值。
当字符串为空时,ISNULL(函数返回指定的替代值。
```sqlSELECT column_nameFROM table_nameWHERE ISNULL(column_name, '') <> '';```4.使用COALESCE(函数:COALESCE(函数用于从多个表达式中返回第一个非NULL值。
当字符串为空时,COALESCE(函数会返回NULL。
```sqlSELECT column_nameFROM table_nameWHERE COALESCE(column_name, '') <> '';```以上是几种常用的判断字符串非空的方法,可以根据具体的需求选择合适的方法来实现。
SqlServer——字符串处理函数
SqlServer——字符串处理函数1) ASCIIFormat:ASCII ( character_expression )Function:返回表达式最左端字符的ASCII值。
eg:select ASCII('abcdef')goResult:2) CHAR:Format:CHAR ( integer_expression ),integer_expression是介于0~266之间的整数Function:将ASCII码转换为字符。
eg:select CHAR(97)goResult:3) LEFTFormat:LEFT ( character_expression , integer_expression )Function:返回从字符串左边开始指定个数的字符。
返回值类型为varchareg1:返回Cname最左边的 1 个字符。
use XSCJselect LEFT(Cname,1)from KCorder by CnamegoResult:eg2:select LEFT('abcdef',3)goResult:4) LTRIMFormat:LTRIM ( character_expression )Function:删除character_expression字符串中的前导空格——字符串前⾯的空格,并返回字符串, character_expression为字符型表达式,返回值类型为varchar。
eg1:使⽤ LTRIM 字符删除字符变量中的起始空格。
select LTRIM(' 代码改变世界')goResult:eg2:DECLARE @string varchar(40)SET @string = ' 中国,⼀个古⽼⽽伟⼤的国家'SELECT LTRIM(@string)GO6) REPLACEFormat:REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )Function:⽤第3个字符串表达式替换第⼀个字符串表达式中包含的第⼆个字符串表达式, string_expression1 , string_expression2‘, string_expression3均为字符串表达式,返回值为字符型。
sql server条件判断函数
SQL Server是一种关系型数据库管理系统,它支持使用条件判断函数来对数据进行筛选和处理。
条件判断函数在SQL Server中起到了至关重要的作用,它能够帮助用户轻松地根据特定的条件来筛选出需要的数据,对数据进行逻辑判断和处理。
本文将针对SQL Server条件判断函数展开详细介绍,帮助读者更好地理解和应用条件判断函数。
一、条件判断函数的定义条件判断函数是SQL Server中用来对数据进行逻辑判断的函数,它可以根据指定的条件对数据进行过滤和处理。
条件判断函数通常包括IF、CASE等关键字,用于判断特定的条件并执行相应的逻辑。
二、IF条件判断函数IF条件判断函数是SQL Server中最常用的条件判断函数之一,它的语法格式如下:IF conditionBEGINstatementsEND其中,condition为要进行判断的条件,statements为条件成立时执行的SQL语句。
IF条件判断函数的作用是根据condition的真假来执行相应的SQL语句。
例如:IF (SELECT COUNT(*) FROM table1) > 10BEGINSELECT * FROM table1END以上代码表示当table1中的记录数大于10时,执行SELECT * FROM table1语句。
三、CASE条件判断函数CASE条件判断函数是SQL Server中另一种常用的条件判断函数,它可以在查询中根据不同的条件返回不同的结果。
CASE条件判断函数的语法格式如下:CASEWHEN condition1 THEN result1WHEN condition2 THEN result2...ELSE resultNEND其中,condition1、2、...为要进行判断的条件,result1、2、...为条件成立时返回的结果,ELSE为条件都不成立时返回的结果。
例如:SELECTCASEWHEN score >= 90 THEN 'A'WHEN score >= 80 THEN 'B'WHEN score >= 70 THEN 'C'WHEN score >= 60 THEN 'D'ELSE 'E'END AS gradeFROM students以上代码表示根据学生成绩不同返回不同的等级。
sqlserver 中使用正则表达式的例子
sqlserver 中使用正则表达式的例子在SQL Server 中使用正则表达式是一种非常强大的技巧,可以帮助我们更轻松地实现复杂的数据匹配和处理操作。
在本文中,我们将一步一步地回答关于在SQL Server 中使用正则表达式的问题,并提供一些实例来帮助你更好地理解这个过程。
第一步:理解正则表达式的基本概念和语法正则表达式是一种用于匹配和处理文本的强大工具。
它由一系列字符和特殊字符组成,用于描述模式。
在SQL Server 中,我们使用一种特殊的正则表达式语法来进行模式匹配,该语法使用了一些特殊字符和操作符来表示不同的模式规则。
例如,常见的正则表达式特殊字符包括:- `.`:匹配任意一个字符。
- `*`:匹配前一个字符零次或多次。
- `+`:匹配前一个字符一次或多次。
- `?`:匹配前一个字符零次或一次。
- `[ ]`:匹配方括号内的任意一个字符。
除了以上这些特殊字符外,SQL Server 还提供了许多其他用于匹配模式的特殊字符和操作符,可以根据具体的需求进行相应的选择。
详细的正则表达式语法可以参考SQL Server 的官方文档。
第二步:确定在SQL Server 中使用正则表达式的场景在决定是否使用正则表达式之前,我们需要确定在SQL Server 中使用正则表达式的具体场景。
正则表达式主要用于以下几种情况:- 数据验证:例如,我们可以使用正则表达式来验证用户输入的电子邮件地址、电话号码等数据的格式是否正确。
- 数据清洗:正则表达式可以帮助我们从一段文本中提取出特定的信息,例如从一个字符串中提取出邮政编码、URL 等。
- 数据筛选:如果我们有一个包含大量数据的表,想要筛选出特定模式的数据,正则表达式可以快速帮助我们实现这个目标。
一旦确定了具体的使用场景,我们就可以开始在SQL Server 中编写包含正则表达式的查询。
第三步:使用正则表达式进行模式匹配在SQL Server 中,我们可以使用内置的函数`PATINDEX`、`LIKE` 或者CLR (Common Language Runtime) 函数`RegexMatch` 来进行正则表达式的模式匹配。
sql 字符串函数
sql 字符串函数
SQL字符串函数是SQL中的一种函数,用于操纵字符串,如查找子字符串、替换字符串、获取子字符串、提取字符串中字符的数量等,以完成灵活且复杂的字符串操作。
SQL中常用的字符串函数有:
1.LEN()函数:返回字符串中字符的数量。
2.LEFT()函数:可以从字符串左边开始返回指定数量的字符。
3.RIGHT()函数:可以从字符串右边开始返回指定数量的字符。
4.INSTR()函数:可以查找指定的字符串在另一个字符串中的位置。
5.SUBSTR()函数:可以从字符串中提取子字符串。
6.REPLACE()函数:可以用另一个字符串中的字符替换字符串中的字符。
7.LOWER()函数:可以将字符串中的所有字符变为小写字母。
8.UPPER()函数:可以将字符串中的所有字符变为大写字母。
9.CONCAT()函数:可以将两个字符串合并为一个字符串。
10.LPAD()函数:可以将字符串前面用特定的字符填充指定的位数。
11.RPAD()函数:可以将字符串后面用特定的字符填充指定的位数。
以上就是SQL中常用的几种字符串函数,可以满足大多数SQL用户对字符串操作的需求。
