一个SQL语法问题,关于类型转型的!帮帮忙!我在线等着。 (50分)

  • 主题发起人 主题发起人 Reesinx
  • 开始时间 开始时间
R

Reesinx

Unregistered / Unconfirmed
GUEST, unregistred user!
一个整型字段ia的值为1,如何转换出一个文本型'01'。
我用了CStr只能转换出'1'。谢谢各位帮帮忙!
 
select '0'+CAST(ia AS char) from Table
 
问题是你是用什么数据库?
其实这只是一个纯技巧性问题,
这种问题也要花50大洋,也未免太奢侈了。

我不知道你用什么数据库,不能给出具体的代码,
但思路其实很简单啊,先转换成字符型,然后前面补0,
然后取后两位。
其实我希望你以后在提出问题时还是能够先想一下,
我觉得这个问题其实是一个程序员的基本工作能力,
如果这也需要别人帮忙的话,也未免太......
 
select right('00'+cstr(ia),2) from table1
 
to:lizhongyi
先谢了!
不过是我的错,我没说清楚问题,当ia是12的是要转换出来'12',
也就是说一共转换出两位,不满的用在前面用‘0’来补位。
 
QuickSilver的方法就很好啊!可以满足你的要求!
 
实在对不起!
我的问题没提清楚!
ia还有一种情况是10.23,这样的话就要转换出'10.23'。
对不起各位了,这个规则不是我定的!我也是一步一步知道的!
 
select right('00'+cstr(cint(ia)),2) from table1
 
to:QuickSilver
你有QQ或MSN吗?
感谢你的帮忙,想继续向你请教!
 
其实情况是由三个字段合成一个字符串,这三个字段都是数值型的,其它两个好办了。
而其中有一个字段有这么几种情况:
1。可能是一位,比如是 1 这样的话就要转换成 '01'
2。可能是两位,比如是 12 这样的话就要转换成 '12'
3。可能是小数,小数点前是一位,比如是 1.235 这样就要转换成 '01.235'
4。可能是小数,小数点前是两位,比如是 12.12 这样就要转换成 '12.12'
问题就在小数点前的位数,小数点后不论有多少位都收进来。
 
Select right('0'+cstr(cint(ia)),2)+iif(ia=cint(ia),'',cstr(ia-cint(ia)))
From table1
用这句试试
 
接受答案了.
 
后退
顶部