日期:2014-05-17  浏览次数:20422 次

怎么从数据库只获取一列数据的前两位
怎么从数据库只获取一列数据的前两位,比如说数据时235765675764675,查询返回的结果就是 23 如果数据是空的,也要返回一个空值···大牛帮个忙

------解决方案--------------------
SQL code

--substring
select  substring('col',1,2)

--left
select left('col',2)

------解决方案--------------------
SQL code

USE test
GO

DECLARE @long_string varchar(10) = 'abcdefg';
DECLARE @only_one_char varchar(10) = 'a'
DECLARE @blank_string varchar(10) = '';
DECLARE @string varchar(10);

SET @string = @blank_string;
SELECT 'X'+CASE len(left(@string,2))
WHEN 2
    THEN left(@string,2)
WHEN 1
    THEN @string + ' '
ELSE
    '  '
END +'X'