18.其他系统函数
1.PatIndex
如果需要按照一定模式进行匹配,比如“计算字符串中第一个长度为2并且第二个字符为m的子字符串在目标字符串中的位置,PatIndex就是用来进行这种模式字串匹配的,其参数格式如下:
PartIndex( '%pattern%' , expression)它返回指定表达式中模式'%pattern%'第一次出现的起始位置;如果在全部有效的文本和符数据类型中没有找到该模式,则返回零。在模式中可以使用通配符。
select patindex('%_m%','Sam')--结果:2
2.Replicate
该函数用来得到一个子字符串重复了若干次所组成的字符串,其参数格式如下:
replicate(str,count):参数str为子字符串,而count为重复次数。
select replicate('so',6)--结果:sosososososo
3.Reverse
该函数用来将一个字符串的顺序颠倒。
select reverse('sebar')--结果:rabes
4.IsDate
该函数用来确定输入表达式是否为有效日期。如果输入表达式是有效日期,那么 返回 1;否则,返回 0。
SELECT ISDATE(NULL) as d1, ISDATE('13/43/3425') as d2, ISDATE('1995-10-1a') as d3, ISDATE(19920808) as d4, ISDATE('1/23/95') as d5, ISDATE('1995-10-1') as d6, ISDATE('19920808') as d7, ISDATE(' Abc') as d8
5.IsNumeric
该函数用来确定表达式是否为有效的数值类型。如果输入表达式的计算值为有效的整数、浮点数、money 或 decimal 类型时,返回 1;否则返回 0。
SELECT ISNUMERIC(NULL) as d1, ISNUMERIC('13/43/3425') as d2, ISNUMERIC('30a.8') as d3, ISNUMERIC(19920808) as d4, ISNUMERIC('1/23/95') as d5, ISNUMERIC('3E-3') as d6, ISNUMERIC('19920808') as d7, ISNUMERIC('-30.3') as d8
6.其他
SELECT APP_NAME() as appname, --当前会话的应用程序名称 CURRENT_USER as cu, --返回当前登陆用户名 HOST_NAME() as hostname, --返回工作站名 NEWID() AS id1 --生成全局唯一字符串