{"id":2426,"date":"2011-10-24T15:57:35","date_gmt":"2011-10-23T21:57:35","guid":{"rendered":"http:\/\/www.moonmile.net\/blog\/archives\/2426"},"modified":"2011-10-25T11:01:12","modified_gmt":"2011-10-25T02:01:12","slug":"sqlbulkcopy-%e3%81%a7%e3%81%af%e3%80%81decimal-%e5%9e%8b%e3%81%a7%e6%a1%81%e8%90%bd%e3%81%a1%e3%82%92%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.moonmile.net\/blog\/archives\/2426","title":{"rendered":"SqlBulkCopy \u3067\u306f\u3001Decimal \u578b\u3067\u6841\u843d\u3061\u3092\u3059\u308b"},"content":{"rendered":"<p>\nSqlBulkCopy \u306e\u30b9\u30d4\u30fc\u30c9\u306f 20 \u500d\u3050\u3089\u3044\u65e9\u3044 | Moonmile Solutions Blog<br \/>\n<a href=\"http:\/\/www.moonmile.net\/blog\/archives\/2234\">http:\/\/www.moonmile.net\/blog\/archives\/2234<\/a>\n<\/p>\n<p>\n\u306a\u3068\u3053\u308d\u3067\u3001SQL Server \u3078\u306e\u30a4\u30f3\u30b5\u30fc\u30c8\u3092\u9ad8\u901f\u5316\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u5b9f\u306f\u3061\u3087\u3063\u3068\u3057\u305f\u843d\u3068\u3057\u7a74\u304c\u3042\u308a\u307e\u3059\uff08\u843d\u3068\u3057\u7a74\u3001\u3068\u3044\u3046\u3088\u308a\u3082\u300c\u4ed5\u69d8\u300d\u3063\u307d\u3044\u306e\u3067\u3059\u304c\uff09\u3002\n<\/p>\n<p>\nSQL Server \u3067 Decimal \u578b\u3092\u4f7f\u3046\u3068\u3001Oracle \u306e nameric \u578b\u306e\u3088\u3046\u306b\u7cbe\u5ea6\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\u305f\u3068\u3048\u3070 decimal(18,4) \u3068\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u5c0f\u6570\u70b9\u4ee5\u4e0b\u7b2c4\u6841\u307e\u3067\u306e\u7cbe\u5ea6\u306b\u306a\u308a\u307e\u3059\u3002\n<\/p>\n<p>\n\u3053\u306e\u5834\u5408\u3001\u300c0.12345\u300d\u3068\u3044\u3046\u5024\u3092\u5165\u308c\u3088\u3046\u3068\u3059\u308b\u3068\u3001\u30af\u30a8\u30ea\u3067\u306f\u300c0.1235\u300d\u306e\u3088\u3046\u306b\u6700\u5f8c\u306e\u6841\u3067<b>\u56db\u6368\u4e94\u5165<\/b>\u3055\u308c\u308b\u306e\u3067\u3059\u304c\u3001SqlBulkCopy \u3092\u4f7f\u3046\u3068\u300c0.1234\u300d\u306e\u3088\u3046\u306b<b>\u5207\u308a\u6368\u3066<\/b>\u306b\u306a\u308b\u3001\u3068\u3044\u3046\u9055\u3044\u304c\u3042\u308a\u307e\u3059\u3002\n<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nCREATE TABLE &#x5B;dbo].&#x5B;t_dec](\r\n\t&#x5B;dec] &#x5B;decimal](18, 4) NULL,\r\n\t&#x5B;dbl] &#x5B;float] NULL\r\n) ON &#x5B;PRIMARY]\r\n<\/pre>\n<p>\n\u306e\u3088\u3046\u306b\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3057\u3066\u304a\u3044\u3066\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002\n<\/p>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\n''' &lt;summary&gt;\r\n''' BulkCopy \u3067\u66f8\u304d\u8fbc\u307f\r\n''' &lt;\/summary&gt;\r\n''' &lt;param name=&quot;sender&quot;&gt;&lt;\/param&gt;\r\n''' &lt;param name=&quot;e&quot;&gt;&lt;\/param&gt;\r\n''' &lt;remarks&gt;&lt;\/remarks&gt;\r\nPrivate Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click\r\n\r\n\tDim dec As Decimal = 0.1234567890123456789012345679D\r\n\tDim dbl As Decimal = 0.12345678901234559\r\n\tDim dt As New DataTable\r\n\r\n\tdt.Columns.Add(&quot;dec&quot;, GetType(Decimal))\r\n\tdt.Columns.Add(&quot;dbl&quot;, GetType(Double))\r\n\tDim row As DataRow = dt.NewRow\r\n\trow(&quot;dec&quot;) = dec\r\n\trow(&quot;dbl&quot;) = dbl\r\n\tdt.Rows.Add(row)\r\n\r\n\tDim cn As New SqlConnection(CNSTR)\r\n\tDim bc As New SqlBulkCopy(cn)\r\n\tcn.Open()\r\n\tbc.DestinationTableName = &quot;t_dec&quot;\r\n\tbc.WriteToServer(dt)\r\n\tcn.Close()\r\n\tbc.Close()\r\n\r\n\t' decimal(18,4) \u3067\u6307\u5b9a\u3057\u3066\u3044\u308b\u3068\u3001dec = 0.1234 \u3068\u306a\u308a\u5207\u308a\u6368\u3066\u3068\u306a\u308b\r\n\r\n\tDim dt2 As New DataTable\r\n\tDim da As New SqlDataAdapter(&quot;SELECT * FROM t_dec&quot;, cn)\r\n\tda.Fill(dt2)\r\n\tDataGridView1.DataSource = dt2\r\n\r\n\r\nEnd Sub\r\n\r\n''' &lt;summary&gt;\r\n''' SqlCommand \u3067\u66f8\u304d\u8fbc\u307f\r\n''' &lt;\/summary&gt;\r\n''' &lt;param name=&quot;sender&quot;&gt;&lt;\/param&gt;\r\n''' &lt;param name=&quot;e&quot;&gt;&lt;\/param&gt;\r\n''' &lt;remarks&gt;&lt;\/remarks&gt;\r\nPrivate Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click\r\n\r\n\tDim dec As Decimal = 0.1234567890123456789012345679D\r\n\tDim dbl As Decimal = 0.12345678901234559\r\n\r\n\tDim cn As New SqlConnection(CNSTR)\r\n\tDim cmd As New SqlCommand(&quot;INSERT INTO t_dec values ( @DEC, @DBL )&quot;, cn)\r\n\tcmd.Parameters.Add(New SqlParameter(&quot;@DEC&quot;, dec))\r\n\tcmd.Parameters.Add(New SqlParameter(&quot;@DBL&quot;, dbl))\r\n\r\n\tcn.Open()\r\n\tcmd.ExecuteNonQuery()\r\n\tcn.Close()\r\n\r\n\t' decimal(18,4) \u3067\u6307\u5b9a\u3057\u3066\u3044\u308b\u3068\u3001dec = 0.1235 \u3068\u306a\u308a\u56db\u6368\u4e94\u5165\u3055\u308c\u308b\r\n\r\n\tDim dt2 As New DataTable\r\n\tDim da As New SqlDataAdapter(&quot;SELECT * FROM t_dec&quot;, cn)\r\n\tda.Fill(dt2)\r\n\tDataGridView1.DataSource = dt2\r\nEnd Sub\r\n<\/pre>\n<p>\n\u3053\u3046\u3059\u308b\u3068\u3001SqlCommand \u306e\u5834\u5408\u306f\u300c0.1235\u300d\u306e\u3088\u3046\u306b\u56db\u6368\u4e94\u5165\u3055\u308c\u308b\u306e\u3067\u3059\u304c\u3001SqlBulkCopy \u306e\u5834\u5408\u306f\u300c0.1234\u300d\u306e\u3088\u3046\u306b\u5207\u308a\u6368\u3066\u3089\u308c\u307e\u3059\u3002\n<\/p>\n<p>\n\u306a\u306e\u3067\u3001\u4ed5\u65b9\u304c\u306a\u3044\u306e\u3067\uff08\uff1f\uff09\u3001\u56db\u6368\u4e94\u5165\u3055\u308c\u308b\u3088\u3046\u306b\u300c0.00005D\u300d\u3092\u52a0\u7b97\u3057\u307e\u3059\uff08\u672b\u5c3e\u306e\u300cD\u300d\u306f\u3001decimal \u578b\u306e\u5370\u3067\u3059\uff09\n<\/p>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\n''' &lt;summary&gt;\r\n''' decimal \u306e\u7cbe\u5ea6\u306b\u5408\u308f\u305b\u3066 0.00005 \u3092\u52a0\u7b97\u3059\u308b\r\n''' &lt;\/summary&gt;\r\n''' &lt;param name=&quot;sender&quot;&gt;&lt;\/param&gt;\r\n''' &lt;param name=&quot;e&quot;&gt;&lt;\/param&gt;\r\n''' &lt;remarks&gt;&lt;\/remarks&gt;\r\nPrivate Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click\r\n\r\n\tDim dec As Decimal = 0.1234567890123456789012345679D\r\n\tDim dbl As Decimal = 0.12345678901234559\r\n\tDim dt As New DataTable\r\n\r\n\tdt.Columns.Add(&quot;dec&quot;, GetType(Decimal))\r\n\tdt.Columns.Add(&quot;dbl&quot;, GetType(Double))\r\n\tDim row As DataRow = dt.NewRow\r\n\trow(&quot;dec&quot;) = dec + 0.00005D\t' \u56db\u6368\u4e94\u5165\u3055\u305b\u308b\r\n\trow(&quot;dbl&quot;) = dbl\r\n\tdt.Rows.Add(row)\r\n\r\n\tDim cn As New SqlConnection(CNSTR)\r\n\tDim bc As New SqlBulkCopy(cn)\r\n\tcn.Open()\r\n\tbc.DestinationTableName = &quot;t_dec&quot;\r\n\tbc.WriteToServer(dt)\r\n\tcn.Close()\r\n\tbc.Close()\r\n\r\n\t' BulkCopy \u3060\u3068\u5207\u308a\u6368\u3066\u306b\u306a\u308b\u306e\u3067\u3001\r\n\t' decimal(18,4) \u306e\u5834\u5408\u306f 0.00005D \u3092\u52a0\u3048\u3066\u3001\r\n\t' dec = 0.1235 \u306e\u3088\u3046\u306b\u56db\u6368\u4e94\u5165\u306b\u3059\u308b\r\n\r\n\tDim dt2 As New DataTable\r\n\tDim da As New SqlDataAdapter(&quot;SELECT * FROM t_dec&quot;, cn)\r\n\tda.Fill(dt2)\r\n\tDataGridView1.DataSource = dt2\r\n\r\nEnd Sub\r\n<\/pre>\n<p>\n\u3055\u3066\u3001\u3053\u308c\u3092\u7d44\u307f\u8fbc\u307f\u304b\u3069\u3046\u304b\u3092\u601d\u6848\u4e2d\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SqlBulkCopy \u306e\u30b9\u30d4\u30fc\u30c9\u306f 20 \u500d\u3050\u3089\u3044\u65e9\u3044 | Moonmile Solutions Blog http:\/\/www.moonmile.net\/blog\/archives\/2234 \u306a\u3068\u3053\u308d\u3067\u3001SQL Se &hellip; <a href=\"https:\/\/www.moonmile.net\/blog\/archives\/2426\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,33],"tags":[],"class_list":["post-2426","post","type-post","status-publish","format-standard","hentry","category-dev","category-vb"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/2426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/comments?post=2426"}],"version-history":[{"count":4,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/2426\/revisions"}],"predecessor-version":[{"id":2429,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/2426\/revisions\/2429"}],"wp:attachment":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/media?parent=2426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/categories?post=2426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/tags?post=2426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}