如何使用sql查询在SQL Server中以十进制数字找到小数点的位置
示例:
123567.89
输出:7
答案 0 :(得分:2)
select charindex('.', cast(123567.89 as varchar))
答案 1 :(得分:0)
declare @T decimal(38,1) = 1234567890123456789012345678901234567.1;
select charindex('.', cast(@T as varchar(40)));
如果仅使用varchar,则默认大小为30;因此,它失败了。除此之外,如果它在计算列中并且使用了varchar,则默认大小为1。
40 = 38 +'小数点'加'符号'
--select charindex('.', cast(@T as varchar)); -- Uncomment and it'll fail