sql数字格式化
㈠ sql中格式化字符串或时间,遇到多少,写多少,持
--求开始时间和结束时间相差的天数
DECLARE @result int
DECLARE @StartDayStartTime DATETIME
DECLARE @EndDayEndTime DATETIME
set @result=DATEDIFF (d,CONVERT(Datetime,@StartDay),CONVERT(Datetime,@EndDay))
--将2012-07-12 15:56:53 格式化为20120712 ,这种需求大多是因为每日数据量更新过大,所以为每天创建一张表,在实现跨多天查询的时候,你懂得。
--执行sql,并返回,最后求和,@sql务必要声明为nvarchar类型
declare @sql nvarchar(500)
declare @sm decimal(18,2) --开始里程
declare @em decimal(18,2)--结束里程
declare @sum decimal(18,2)--当天时间段内的里程
declare @temp decimal(18,2)--里程变量
set @sql='SELECT top 1 @temp=Convert(decimal(18,2),'+@GpsPath+'.Mileage) FROM '+@GpsPath+' WHERE GpsTime<='''+CONVERT(varchar(100),@E, 21)+''' AND TerminalNo=''02200051'' and '+@GpsPath+'.Mileage>0 ORDER BY GpsTime desc'
exec sp_executesql @sql,N'@temp decimal(18,2) output',@em out print @em
set @sql='SELECT top 1 @temp=Convert(decimal(18,2),'+@GpsPath+'.Mileage) FROM '+@GpsPath+' WHERE GpsTime>='''+CONVERT(varchar(100),@S, 21)+''' AND TerminalNo=''02200051'' and '+@GpsPath+'.Mileage>0 ORDER BY GpsTime asc'
exec sp_executesql @sql,N'@temp decimal(18,2) output',@sm out print @sm
set @sum=Convert(decimal(18,2),@em)-Convert(decimal(18,2),@sm)
㈡ Sql语句中能不能格式化小数位数
可以的,用round函数
Select round(成绩,2) from 成绩表
㈢ sql 如何格式化输出这个数字
SELECT SUBSTRING(CONVERT(char, 320.01), 1, 1) + '"' + SUBSTRING(CONVERT(char, 320.01), 2, 2)
same result.
㈣ sql怎么格式化取指定小数位数
控制小数显示位数的办法如下:
decimal(18,0)18是定点精度,0是小数位数。decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
实例:
decimal[ (p[ ,s] )] 和 numeric[ (p[ ,s] )]
固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 ISO 同义词为 dec 和 dec(p, s),numeric 在功能上等价于 decimal。
p(精度)
最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。
该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。
s (小数位数)
小数点右边可以存储的十进制数字的最大位数,小数位数必须是从 0 到 p 之间的值。
仅在指定精度后才可以指定小数位数,默认的小数位数为 0;
因此,0 <= s <= p。最大存储大小基于精度而变化。
㈤ SQL数值格式化
这个应该是程序时显示的吧,是不是用了JAVASQL默认情况下会帮忽略后面那一串0的
㈥ sql 如何格式化百分数
可以转换成字符格式显示
cast(cast(sum(A值)/sum(B值) as decimal(16,4)) * 100 as varchar(10)) + '%'
㈦ sql数据库 格式化储存
其实在企业管理器中是能业显所有内容的,先将光标定位到字段内容中,通过点向下的光标键,就会一行一行地向下显示。
一般存储格式文本要借助于前台程序以二进制的形式存入。读出也要用前台语言用相应的方法读出,输出到界面上。
=====
TStringStream *pms=new TStringStream(NULL);
TStringList *StrList=new TStringList();
pms->Position = 0;
Memo1->Lines->SaveToStream(pms);//MEMO1是一个RICHEDIT控件,直接使用它的方法输出到内存流对象中
以下是一个在BCB中,使用ADOCOMMAND控件,将RICHEDIT控件中编辑的格式文本存入TEXT字段的实例,参考一下吧(ADOCMD是ADOCOMMAND控件,MEMO1是RICHEDIT控件)
pms->Position = 0;
StrList->LoadFromStream(pms);//
if (ads->Tag==0)
{
AdoCmd->CommandText="Insert Into TABLENote (NoteMole,NoteRich,NoteDate,NoteOprate) Values ('"+IntToStr(FormCode)+"','"+StringReplace(StrList->Text,"'","''",TReplaceFlags()<<rfReplaceAll)+"','"+g_sdSysDate+"','"+Memo1->Text+"')";
try
{
AdoCmd->Execute();
}
catch(Exception &e)
{
throw Exception("保存失败,原因是:"+e.Message);
}
㈧ 从数据库中查询时间类型的数据并格式化成我想要的格式怎么写sql
默认情况下,SQL Server 根据截止年份 2049 解释两位数字的年份。
即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。SQL Server 提供一个配置选项("两位数字的截止年份"),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。
当从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从 datetime 或 smalldatetime 值进行转换时,可以通过使用适当的 char 或 varchar 数据类型长度来截断不需要的日期部分。
㈨ 请问:SQL中格式化显示数据用的是哪个函数
SELECT CONVERT(DECIMAL(18,2),金额) FROM 销售单;
你试一下这个应该可以
CONVERT函数是转换函数,CONVERT(DECIMAL(18,2),金额)意思是转换成小数类型(小数点后保持两位)。
㈩ sql语句中如何将数值格式输出
select convert(decimal(38,2), AA.a )
from
(
select 1.1111 as a
union
select 1.2222 as a
union
select 1.3333 as a
union
select 1.5555 as a
) as AA
你这里的话用convert(decimal(38,2), sum(hf)/100 )as res_je 就可以了
decimal(38,2) 意思是38位的数字,其中2位是小数位