日度归档:2019年5月10日

mssql sqlserver 验证字符串是否为”正整数”的方法分享


摘要:
下文讲述sql脚本中验证字符串是否为”正整数”的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
由于正整数中,需全部为数字组成。
所以下文采用正则表达式验证输入的字符全部为数字的方式,对字符进行验证。

 //验证字符是否为正整数
CREATE FUNCTION [dbo].[fn_checkInt] (
   @val NVARCHAR(4000)
) RETURNS BIT
AS
BEGIN
   DECLARE   @r  BIT = 1
   if @val is null begin set @val ='' end 

   IF @val LIKE '%[^0-9]%' OR @val = N''
      SET @r = 0
   ELSE
      SET @r = 1

   RETURN @rtv
END
---例:
    select [dbo].[fn_checkInt]('sql'),[dbo].[fn_checkInt]('98'),[dbo].[fn_checkInt](-98)

mssql sqlserver 将字符串分解为单个字符的方法分享


摘要:
下文讲述使用sql脚本将字符串拆分为单个字符的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
将整个字符串,采用substring分解为一个一个字符,然后存储至数据表中,返回的数据表则会单个字符

  
//函数功能:拆分字符串为单个字符,放入数据表中,并返回
CREATE FUNCTION [dbo].[fn_SplitStringToCharReturnTable]
(
    @str  NVARCHAR(MAX)
)
RETURNS @tmp TABLE
(
    [t] [nvarchar](2) NULL
)
AS
BEGIN    
    DECLARE @p INT = 1, @strLen INT = LEN(@str)
    WHILE @p <= @strLen
    BEGIN
       INSERT INTO @tmp VALUES(SUBSTRING(@str, @p, 1))
        SET @p = @p + 1
    END
    RETURN
END
GO
-----例:
  select [dbo].[fn_SplitStringToCharReturnTable]('maomao365');

mssql sqlserver sql脚本中嵌入单引号的方法分享


摘要:
下文中讲述sql脚本嵌入单引号的方法,如下所示:
实验环境:sql server 2008 R2


今天在编写sql脚本时,需要在脚本中放入一个单引号,当我直接在脚本中使用单引号时,出现相应的错误信息,下文将列举出sql脚本加入单引号的方法。

实现思路:
通过各方资料查阅,我们发现如果检索数据中包含单引号,则需加入两个单引号,则会转发为一个单引号
例:
检索数据列值为”‘maomao” ,引号maomao 的值

  select * from tableName 
    where [列值]  ='''maomao'
   go