SQL 语句 生成当前时间 年月日小时分钟 再加4个随机数的字符串。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 语句 生成当前时间 年月日小时分钟 再加4个随机数的字符串。相关的知识,希望对你有一定的参考价值。
比如:201103070915加4个随机数2315 结果为2011030709152315
DECLARE @rand 。。。。。。
SET @rand 。。。。。。。。。。。。。
结果要为narvchar字符串
我今天都在线
--在自定义函数中不能使用日期函数getdate(),所以这里要建一个视图用来返回当前时间
go
if object_id('viewNow') is not null
begin
drop view viewNow
end
go
Create View viewNow
as
select getdate() as now
--在自定义函数中不能使用函数rand()所以这里要建立一个视图来返回4位随机数字
go
if object_id('viewRandNumber') is not null
begin
drop view viewRandNumber
end
go
Create View viewRandNumber
as
select CEILING(RAND()*10000) as RandNumber
--建立自定义函数
go
if object_id('GenerateCode') is not null
begin
drop function GenerateCode
end
go
create function GenerateCode()
returns varchar(16)
as
begin
declare @now datetime
select @now=now from viewNow
declare @nowVarchar varchar(12)
set @nowVarchar=convert(varchar(8),@now,112)+replace(convert(varchar(8),@now,108),':','')
declare @RandNumber int
select @RandNumber=RandNumber from viewRandNumber
return @nowVarchar+convert(varchar(4),@RandNumber)
end
--测试结果
select dbo.GenerateCode() as code
--code
2011030710478029 参考技术A DECLARE @rand NVARCHAR(16)
SET @rand = REPLACE(CONVERT(NVARCHAR(16), GETDATE(), 120), '-', '');
SET @rand = REPLACE(@rand, ' ', '');
SET @rand = REPLACE(@rand, ':', '');
SET @rand = @rand + CAST(FLOOR ((RAND() * 900 + 100)) AS NVARCHAR(3));
PRINT @rand本回答被提问者采纳 参考技术B select convert(char(19),getdate(),112) 参考技术C declare @autoNo as nvarchar(15)
set @autoNo = CONVERT(nvarchar(10), GETDATE(),112) +cast(DATENAME(HOUR,GETDATE()) as nvarchar)+ cast(DATENAME(MINUTE,GETDATE()) as nvarchar) + right('0000' + CAST( cast(rand()*10000 as int) as nvarchar),4)
print @autoNo
java获取当前年月日 小时 分钟 秒 毫秒
public class Test { /** * 英文简写(默认)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 如:2010-12-01 23:15:06 */ public static String FORMAT_LONG = "yyyy-MM-dd HH:mm:ss"; /** * 精确到毫秒的完整时间 如:yyyy-MM-dd HH:mm:ss.S */ public static String FORMAT_FULL = "yyyy-MM-dd HH:mm:ss.S"; /** * 中文简写 如:2010年12月01日 */ public static String FORMAT_SHORT_CN = "yyyy年MM月dd"; /** * 中文全称 如:2010年12月01日 23时15分06秒 */ public static String FORMAT_LONG_CN = "yyyy年MM月dd日 HH时mm分ss秒"; /** * 精确到毫秒的完整中文时间 */ public static String FORMAT_FULL_CN = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒"; public static void main(String[] args) { System.out.println(getTimeString()); System.out.println("返回日期年份:"+getYear(new Date())); System.out.println("返回月份:"+getMonth(new Date())); System.out.println("返回当天日份"+getDay(new Date())); System.out.println("返回当天小时"+getHour(new Date())); System.out.println("返回当天分"+getMinute(new Date())); System.out.println("返回当天秒"+getSecond(new Date())); System.out.println("返回当天毫秒"+getMillis(new Date())); } /** * 获取当前时间 */ public static String getTimeString() { SimpleDateFormat df = new SimpleDateFormat(FORMAT_FULL); Calendar calendar = Calendar.getInstance(); return df.format(calendar.getTime()); } /** * 获取日期年份 * @param date 日期 * @return */ public static String getYear(Date date) { return format(date).substring(0, 4); } /** * 功能描述:返回月 * * @param date * Date 日期 * @return 返回月份 */ public static int getMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MONTH) + 1; } /** * 功能描述:返回日期 * * @param date * Date 日期 * @return 返回日份 */ public static int getDay(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.DAY_OF_MONTH); } /** * 功能描述:返回小时 * * @param date * 日期 * @return 返回小时 */ public static int getHour(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.HOUR_OF_DAY); } /** * 功能描述:返回分 * * @param date * 日期 * @return 返回分钟 */ public static int getMinute(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MINUTE); } /** * 返回秒钟 * * @param date * Date 日期 * @return 返回秒钟 */ public static int getSecond(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.SECOND); } /** * 功能描述:返回毫 * * @param date * 日期 * @return 返回毫 */ public static long getMillis(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.getTimeInMillis(); } }
原文:https://blog.csdn.net/xuforeverlove/article/details/81565173
以上是关于SQL 语句 生成当前时间 年月日小时分钟 再加4个随机数的字符串。的主要内容,如果未能解决你的问题,请参考以下文章