[解決済み] SQL Serverでvarcharをuniqueidentifierに変換する
2022-03-04 11:16:18
質問
私がスキーマを管理していないテーブルには、varchar(50)として定義されたカラムがあり、フォーマット 'a89b1acd95016ae6b9c8aabb07da2010' (ハイフンなし)でユニークIDを格納しています。
これらをSQLでuniqueidentifiersに変換し、.Net Guidに渡したいのです。しかし、以下のクエリラインは、私には機能しません。
select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier)
select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010')
と結果が出ます。
Msg 8169, レベル 16, ステート 2, 行 1 文字列から uniqueidentifier に変換する際に、変換に失敗しました。
ハイフンでつながれた uniqueidentifier を使用した同じクエリは問題なく動作しますが、データはそのフォーマットでは保存されません。
SQLでこれらの文字列をuniqueidentifiersに変換する他の(効率的な)方法はありますか?-- .Netのコードでやりたくはないのです。
どのように解決するのですか?
DECLARE @uuid VARCHAR(50)
SET @uuid = 'a89b1acd95016ae6b9c8aabb07da2010'
SELECT CAST(
SUBSTRING(@uuid, 1, 8) + '-' + SUBSTRING(@uuid, 9, 4) + '-' + SUBSTRING(@uuid, 13, 4) + '-' +
SUBSTRING(@uuid, 17, 4) + '-' + SUBSTRING(@uuid, 21, 12)
AS UNIQUEIDENTIFIER)
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】''付近の構文が正しくない
-
[解決済み】PL/SQL SELECTに複数のCOUNT(DISTINCT xxx)を指定すると、予期しない結果になる。
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] 2つの列を分割するには?
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] SQLクエリで2つの列から値を引き算する
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] PostgreSQL - json 型の等値演算子を識別できませんでした。
-
[解決済み] SQLで複数のGROUP BYを使用する場合とは?
-
[解決済み] SQLクエリでuniqueidentifierに変換失敗のエラーが表示される【重複