在本文中,我们将详细介绍在C#中将IPv6格式化为int并将其存储在SQLServer中的各个方面,同时,我们也将为您带来关于android–解析日期并将其存储在SQLite数据库中、java–从ex
在本文中,我们将详细介绍在C#中将IPv6格式化为int并将其存储在SQL Server中的各个方面,同时,我们也将为您带来关于android – 解析日期并将其存储在SQLite数据库中、java – 从excel读取图像并将其存储在sqlserver中、ruby – 如何将控制台输出显示到stdout并将其存储在变量中?、sql-server – SQL Server 2008:如何将输出格式化为货币的有用知识。
本文目录一览:- 在C#中将IPv6格式化为int并将其存储在SQL Server中
- android – 解析日期并将其存储在SQLite数据库中
- java – 从excel读取图像并将其存储在sqlserver中
- ruby – 如何将控制台输出显示到stdout并将其存储在变量中?
- sql-server – SQL Server 2008:如何将输出格式化为货币
在C#中将IPv6格式化为int并将其存储在SQL Server中
在IPv4
我一直在解析IP地址的字符串表示Int32
,并将其存储为INT
在SQL Server
。
现在,IPv6
我试图找出是否有对的字符串表示解析标准或接受的方式IPv6
在两个Int64
使用C#
?
人们又如何将这些值存储在SQL Server
-的两个字段中BIGINT
?
答案1
小编典典正如IPv4地址实际上是32位数字一样,IPv6地址实际上是128位数字。地址有不同的字符串表示形式,但是实际地址是数字,而不是字符串。
因此,您无需将IP地址转换为数字,而是将地址的字符串表示形式解析为实际地址。
甚至没有一个decimal
可以容纳128位数字,因此留下了三个明显的选择:
- 存储分为两个
bigint
字段的数值 - 将地址的字符串表示形式存储在
varchar
字段中 - 将数值存储在16字节
binary
字段中
这两种方法都没有将IPv4地址存储在中的方便int
,因此您必须考虑它们的局限性以及对地址的处理需求。
android – 解析日期并将其存储在SQLite数据库中
我正在使用SAXParser解析一个xml文件,并在处理程序内部我正在创建一个对象,其中一个数据库是日期.
我的XML文件上的日期采用以下格式:2010-12-28.
我找不到如何将这样的字符串转换为Date对象.我也不明白如何将它存储在sqlite数据库中,因为似乎有很多格式(有小时/分钟/等).
我需要它存储在一个对象中,这样我就可以计算时间跨度等.
有人可以帮我弄这个吗?
解决方法:
您可以使用Java的简单日期格式将日期格式化为可用于进行计算的Date对象,如下所示:
http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
你想要的解析字符串是“yyyy” – “MM” – “dd”
至于将其存储到sqlite数据库中,您有几个选择:
>将其存储为字符串,并在出现时将其转换回日期对象
>(首选)将其存储为unix时间戳(Date.getTime()为您提供自1970年以来的毫秒数,并且您可以将该值存储在数据库中.)这种方式是首选,因为您不必这么做(相对昂贵的)转换.您可以对长时间戳值进行简单的基本操作.
使用sqlite的内置日期函数还有其他一些选项(如here所述),但最终如果您想将其拉入Android / Java代码并将其作为Date对象进行操作,则您将不得不进行转换.
java – 从excel读取图像并将其存储在sqlserver中
cl_id int //auto imcrement cl_image image
我想从图像中读取excel中的图像并将其存储在上表中
FileInputStream fileInputStream = new FileInputStream( "Delux.xls"); System.out.println(fileInputStream); hssfWorkbook workbook = new hssfWorkbook(fileInputStream); hssfSheet worksheet = workbook.getSheet("Delux"); Iterator rows = worksheet.rowIterator(); hssfRow row = (hssfRow) rows.next(); List lst = workbook.getAllPictures(); Iterator it = lst.iterator(); while (rows.hasNext()) { row = (hssfRow) rows.next(); //reading the image from excel hssfCell cellP1 = row.getCell((short) 1); PictureData pict = (PictureData)it.next(); String ext = pict.suggestFileExtension(); byte[] data = pict.getData(); InputStream is = new ByteArrayInputStream(data); try { PreparedStatement stmt = getdbconn() .prepareStatement( "insert into tab1 (cl_image) values(?)"); stmt.setBinaryStream(1,is); stmt.executeUpdate(); is.close(); } catch (ClassNotFoundException e) { e.printstacktrace(); } catch (sqlException e) { e.printstacktrace(); } }
但是当我动态存储图像时,我得到的错误就像
“String or binary data would be truncated”.
任何人都可以建议我一个方法来实现这一点???
解决方法
ruby – 如何将控制台输出显示到stdout并将其存储在变量中?
output = %x{some_script}
…然后我将打印到stdout的东西存储在输出中;但我没有看到它出现在屏幕上.
另一方面,如果我这样做:
success = system "some_script"
…然后我看到输出出现在屏幕上,但我没有将它存储在变量中(成功只保留一个布尔值).
有两种方法可以得到两者吗?我知道我可以这样做:
output = %x{some_script} puts output
但问题是some_script可能是一个非常长时间运行的脚本,在这种情况下,直到整个事情完成后我才会看到任何内容.我更愿意看到它产生的输出,以及它完成时将它全部存储在输出变量中.
解决方法
require 'stringio' output = StringIO.new IO.popen("ls") do |pipe| pipe.each do |line| output.puts line puts line end end puts output.string # => Outputs the contents of `output` as a string
sql-server – SQL Server 2008:如何将输出格式化为货币
这是查询:
SELECT COALESCE(SUM(SUBTOTAL),0) FROM dbo.SALESORD_HDR where ORDERDATE = datediff(d,getdate()) and STATUS NOT IN (3,6)
我希望结果以2位小数的货币.
解决方法
例如:
SELECT sql#.Math_FormatDecimal(123.456,N'C',N'en-us');
输出:
$123.46
SELECT sql#.Math_FormatDecimal(123.456,N'fr-fr');
输出:
123,46 €
此方法适用于sql Server 2005/2008/2008 R2.而且,如果/当您升级到较新版本的sql Server时,您可以选择通过将sql#.Math_FormatDecimal更改为FORMAT来轻松切换到本机T-sql函数.
将其放入原始问题的查询上下文中:
SELECT sql#.Math_FormatDecimal(COALESCE(SUM(SUBTOTAL),0),N'en-us') AS [Total] FROM dbo.SALESORD_HDR where ORDERDATE = datediff(d,6)
编辑:
或者,因为似乎只需要en-us格式,所以有一个简单的快捷方式:使用CONVERT函数从MONEY或SMALLMONEY数据类型转换为en-us减去货币的“样式”符号,但这很容易添加:
SELECT '$' + CONVERT(VARCHAR(50),CONVERT(MONEY,COALESCE(SUM(SUBTOTAL),0)),1) AS [Total] FROM dbo.SALESORD_HDR where ORDERDATE = datediff(d,6)
由于SUBTOTAL字段的源数据类型是FLOAT,因此首先需要将其转换为MONEY,然后转换为VARCHAR.但是,可选的“样式”是我更喜欢CONVERT而不是CAST的一个原因.
我们今天的关于在C#中将IPv6格式化为int并将其存储在SQL Server中的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – 解析日期并将其存储在SQLite数据库中、java – 从excel读取图像并将其存储在sqlserver中、ruby – 如何将控制台输出显示到stdout并将其存储在变量中?、sql-server – SQL Server 2008:如何将输出格式化为货币的相关信息,请在本站查询。
本文标签: