我有一张桌子tbl1
如何将列值拆分10(字符数)
FROM:
Column1
Butuan City Philippines
Zamboanga City Philippines
Manila City Philippines
TO:
Column1 Column2
Butuan Cit y Philippines
Zamboanga City Philippines
Manila Cit y Philippines
答案 0 :(得分:3)
您可以使用SUBSTRING()
功能:
SELECT SUBSTRING(Column1, 1, 10) AS Column1,
SUBSTRING(Column1, 11, LEN(Column1) - 10) AS Column2
FROM yourtable
请注意,我们不必担心在子字符串中使用大于Column1
,q.v的长度的索引。 documentation表示:
如果start [second parameter]大于值表达式中的字符数,则返回零长度表达式。
和
如果start和length的总和大于表达式中的字符数,则返回从start开始的整个值表达式。
答案 1 :(得分:0)
使用LEFT
和SUBSTRING
字符串函数。试试这个
DECLARE @str VARCHAR(100) = 'Zamboanga City Philippines'
SELECT LEFT (( @str ), 10),
Substring (( @str ), 10 + 1, Len(@str))
答案 2 :(得分:0)
您可以使用LEFT
,LEN
和SUBSTRING
SELECT LEFT(Column1,10) AS 'Column1'
SELECT SUBSTRING(Column1, LEN(LEFT(Column1,10)) + 1, LEN(Column1)) AS 'Column2'
合并两个查询:
SELECT LEFT(Column1,10) AS 'Column1',
SUBSTRING(Column1, LEN(LEFT(Column1,10)) + 1, LEN(Column1)) AS 'Column2'
答案 3 :(得分:0)
您可以使用SQL的in-build SUBSTRING()函数来实现预期的结果。
对于例如
from django.db.models import Q
query = mymodel.filter(Q(name="Foo",foreignkey_property1="Bar") && Q(foreignkey_property2="Zap"))