我的sql2000数据库中存储时间是这样存储的,如:2005-6-8 或1978-6-18 或1979-11-6,
由于填写身份证号码的需要,我需要把2005-6-8这种格式变成这样的一种标准字符串:‘20050608’然后再加前缀和后缀就可以组成身份证号码了,可是我如何把这种时间格式变成这种字符串呢?
还有对于那种老式身份证,我们只用到出生日期的后6位而已,如‘780618’,这种情况之下,我该怎么处理这个时间,然后得出两种如同'20050608'和'780618'之类的字符串呢?我用的是delphi+sql2000来编程,希望大家能帮帮忙!!!谢谢了
由于填写身份证号码的需要,我需要把2005-6-8这种格式变成这样的一种标准字符串:‘20050608’然后再加前缀和后缀就可以组成身份证号码了,可是我如何把这种时间格式变成这种字符串呢?
还有对于那种老式身份证,我们只用到出生日期的后6位而已,如‘780618’,这种情况之下,我该怎么处理这个时间,然后得出两种如同'20050608'和'780618'之类的字符串呢?我用的是delphi+sql2000来编程,希望大家能帮帮忙!!!谢谢了
解决方案 »
- 动态创建按钮在窗体退出的时候出错Invalid pointer operation
- 透明按钮的制作?
- 可不可以把DBCheckBox控件打勾的框放大啊?
- 急急,高速转移数据,每天要把一台MSSQLSERVER服务器上的100万条左右记录转移到局域网(10M专线连接的)内的另一台MSSQLSERVER服务器(而且
- 请教高手 一个关于ComboBox控件的问题
- 有要提一个select语句的问题?
- 怎样把EXCEL中的数据导入到结构相同的表中,我用的是ACCESS数据库
- 200分求解 dbExpress的 simpledataset控件+datasource+oracle ??? 在线等待.....
- 在网页中的ActiveXform如何获得其所在网页的url
- 求一简单算法,关于字符串的,见者有分!
- 查询结果集可更新问题的困惑?
- 请问如果将一个查询出来的表存另存在一个xls里面
var
dt : TDateTime;
s : string;
begin
s := '2006-5-3';
dt := StrToDate(s);
showmessage(FormatDateTime('yyyymmdd',dt));
end;
var
dt : TDateTime;
s : string;
begin
s := '2006-5-3';
dt := StrToDate(s);
showmessage(FormatDateTime('yymmdd',dt));
end;
第一个例子输出20050608这种形式的
第二个例子输出050608这种形式的。
var
s,s1:string;
begin
s := FormatDateTime('yyyymmdd',DateTimePicker1.Date); ///你要的格式
s1 := copy(s,3,6);
///后6位
end;
if length(s)=15 then // formatdatetime
if length(s)=18 then // formatdatetime
select convert(varchar(10),cast('2006-07-21' as datetime),112)
select convert(varchar(10),getdate(),112)
--取得右边6位
select right(convert(varchar(10),cast('2006-07-21' as datetime),112),6)
select right(convert(varchar(10),getdate(),112),6)-----结果
----------
20060721
----------
20060721
----------
060721
----------
060721
如果用存储过程就用楼上的Sql Server转换函数