久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

T-SQL:將 NTEXT 轉換為 VARCHAR 到 INT/BIGINT

T-SQL: Converting NTEXT to VARCHAR to INT/BIGINT(T-SQL:將 NTEXT 轉換為 VARCHAR 到 INT/BIGINT)
本文介紹了T-SQL:將 NTEXT 轉換為 VARCHAR 到 INT/BIGINT的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個帶有 NTEXT 類型字段的表,它存儲多種類型的值,其中文件大小.我正在嘗試對記錄列表運行查詢并將文件大小相加,但我遇到了這個令人困惑的問題.

I have a table with a field of type NTEXT which stores many type of values, filesize among them. I'm trying to run a query on a list of records and add up the file sizes but I'm encountering this perplexing problem.

由于NTEXT無法直接/隱式轉換為INTBIGINT,我先將其轉換為VARCHAR 然后我試圖將其轉換為 INT 或 BIGINT.一切正常,直到我嘗試將 VARCHAR 值轉換為 INTBIGINT.

Since NTEXT cannot be directly/implicitly converted to INT or BIGINT, I'm converting it first to VARCHAR then I'm trying to convert it to either INT or BIGINT. All goes fine until I try to convert the VARCHAR value to INT or BIGINT.

這是我的查詢和結果:

首先我嘗試以下操作,結果顯示沒有問題,輸出為 61069(值仍為 ntext 類型).

First I try the following, which shows no problems and the output is 61069 (value still as ntext type).

SELECT FileSize
FROM dbo.myTable
WHERE ID = 111

現在我將它轉換/轉換為 varchar,再次,沒問題.輸出為 61069(現在是 varchar 類型).

Now I convert/cast it as varchar, and again, no problem. The output is 61069 (now varchar type).

SELECT CONVERT(VARCHAR, FileSize)
FROM dbo.myTable
WHERE ID = 111

最后,我嘗試將 VARCHAR 值轉換為 BIGINT,以便我可以進行 SUM() 和其他計算,但這次我收到將數據類型 varchar 轉換為 bigint 時出錯."留言.

Finally, I try to convert the VARCHAR value into BIGINT so that I can do my SUM() and other calculations, but this time I get a "Error converting data type varchar to bigint." message.

SELECT CONVERT(BIGINT, CONVERT(VARCHAR, FileSize))
FROM dbo.myTable
WHERE ID = 111

如果我嘗試將其轉換為 INT,則會出現將 varchar 值 '7/1/2008 3:39:30 AM' 轉換為數據類型 int 時轉換失敗"

And if I try converting it to INT instead, I get a "Conversion failed when converting the varchar value '7/1/2008 3:39:30 AM' to data type int"

SELECT CONVERT(INT, CONVERT(VARCHAR, FileSize))
FROM dbo.myTable
WHERE ID = 111

我完全迷失了,有什么可能導致這種情況的想法嗎?

I'm absolutely lost, any ideas of what could be causing this?

推薦答案

您無法控制 where 子句和轉換的應用順序.在某些情況下,SQL Server 會嘗試對未通過過濾器的行執行轉換 - 這一切都取決于計劃.試試這個:

You can't control the order in which the where clause and conversions apply. In some cases SQL Server will attempt to perform the conversion on rows that wouldn't pass the filter - all depends on the plan. Try this instead:

SELECT CASE WHEN ID = 111 THEN 
  CONVERT(INT, CONVERT(VARCHAR(12), FileSize))
  -- don't be lazy, size ------^^ is important
  END
FROM dbo.myTable
WHERE ID = 111;

還要考慮使用整數列來存儲整數.然后你就不會在 FileSize 列中出現像 '7/1/2008 3:39:30 AM' 這樣愚蠢的廢話.

Also consider using an integer column to store integers. Then you don't end up with goofy nonsense in the FileSize column like '7/1/2008 3:39:30 AM'.

這篇關于T-SQL:將 NTEXT 轉換為 VARCHAR 到 INT/BIGINT的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 欧美国产日韩在线观看 | 亚洲一区二区三区免费在线观看 | 久久国 | 超碰导航 | 国产三级电影网站 | 天堂网中文字幕在线观看 | 国产精品3区 | 亚洲一区久久 | 色资源在线 | 欧美一极视频 | 国产精品呻吟久久av凹凸 | 欧美一区二区三区在线看 | 黄网站涩免费蜜桃网站 | 国产91在线 | 中日 | 伊人天堂网| 色狠狠一区 | 精品一二区| 日日操操 | 精品久久久久久 | 精品在线一区 | 久久91av| 色.com| 欧美在线资源 | 精品久久久久久亚洲综合网 | 亚洲午夜小视频 | 国产成人综合亚洲欧美94在线 | 亚洲乱码一区二区三区在线观看 | 久久国产成人 | 亚洲在线一区二区 | 欧美精品一区二区免费 | 成人免费看黄 | 久久久国产一区二区三区四区小说 | 欧美日韩高清一区 | 天天干天天爱天天操 | 免费a v网站 | 天天操天天操 | 久热伊人 | 成人精品区 | 日韩视频中文字幕 | 欧美男人天堂 | 视频一区二区在线观看 |