2
我把字符串保存在名爲 的nvarchar(100)列地址。t-sql unicode函數返回0
SELECT UNICODE(address) FROM clients
下面是結果集
什麼是象徵它是什麼?如何在我的字符串的另一個位置查找此符號的索引?
我把字符串保存在名爲 的nvarchar(100)列地址。t-sql unicode函數返回0
SELECT UNICODE(address) FROM clients
下面是結果集
什麼是象徵它是什麼?如何在我的字符串的另一個位置查找此符號的索引?
如BOL
指出返回整數值,由Unicode標準所定義,對於輸入表達式的 第一個字符。
所以,你也可以顯示第一符號二進制來檢查它
SELECT UNICODE(address), CAST(SUBSTRING(address, 1, 1) as varbinary(2)) FROM clients
下也返回0
SELECT UNICODE(CAST(0x00 AS NVARCHAR))
SELECT UNICODE(NCHAR(0))
所以 - 最簡單的答案 - 這是一個NCHAR (0) - 字符
要查找NCHAR(0)
在串請看下面的例子:
DECLARE @str NVARCHAR(100) = N'John'+NCHAR(0)+N'Smith'
SELECT CHARINDEX(NCHAR(0) COLLATE Latin1_General_BIN, @str)
SELECT CHARINDEX(clients.address,NCHAR(0))來自客戶端的,其中CHARINDEX(clients.address,NCHAR(0))> 0則返回:受影響0行。如何找到nchar(0)的索引? – loviji 2012-01-11 10:13:35
可能會有CHAR(0)? – 2012-01-11 10:21:59
你是對的:它是一個NCHAR(0)字符。但我無法找到它的字符串索引。 – loviji 2012-01-11 12:52:33